Olá pessoal eu so novo aqui no forúm, e presiso de auda para fazer um programa de converção de numeros inteiros para nº romanos... e eu comecei com o "switch()" e tem q ir ate 3999... se me poderem dar umas dicas de como começar ou outra maneira mais facil postem aqui por favor
Essa tua abordagem é a da força bruta e não é de todo conveniente ires por aí.
Não sei qual a linguagem em que estás a programar, mas dou-te um ponto de partida para estudares o algoritmo que podes implementar:
http://www.blackwasp.co.uk/NumberToRoman.aspx
Só na parte onde pomos "main void (main)" é diferente é so por "main (void)". Obrigado para a ajudar, to a ver que vo aprender muito aqui neste forum
Não será "void main(void)".
De qualquer forma é sempre boa prática por int main(), com void ou sem void lá dentro, ou int main( int argc, char **argv) caso seja para receber argumentos.
Não será "void main(void)".
De qualquer forma é sempre boa prática por int main(), com void ou sem void lá dentro, ou int main( int argc, char **argv) caso seja para receber argumentos.
Então int main() é igual a int main( int argc, char **argv) ?Segundo as normas C99, é com. Com significa que não recebe nenhum argumento. Sem significa que recebe um número variável de argumentos.
mas continua a dar-me erro... vejam sóEntão int main() é igual a int main( int argc, char **argv) ?
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
[COLOR=Red]int void ();[/COLOR]
{
char nc;
printf("Insira o nº que deseja Converter");
scanf("%c",& nc);
switch()
{
case1: printf("I");break;
case2: printf("II");break;
case3: printf("III");break;
case4: printf("IV");break;
case5: printf("V");break;
case6: printf("VI");break;
case7: printf("VII");break;
case8: printf("VIII");break;
case9: printf("IX");break;
}
}
Ninguém disse que podia ser int void ();
Mete int main(void);
E falta o argumento do switch.
[COLOR=Red]int void (main);[/COLOR]
{
char nc;
printf("Insira o nº que deseja Converter");
scanf("%c",& nc);
switch(i)
{
Se calhar convinha estudares o básico de C.
Tu estás a por int void (main); e é int main (void);
Depois de onde é que vêm o i no argumento switch, deveria lá estar o nc.
Escapou-me o pormenor da vírgula. Assim já deveria funcionar, mete aí o código como tens agora.
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void main (void)
{
char nc;
printf("Insira o nº que deseja Converter");
scanf("%c",& nc);
switch(i)
{
case1: printf("I");break;
case2: printf("II");break;
case3: printf("III");break;
case4: printf("IV");break;
case5: printf("V");break;
case6: printf("VI");break;
case7: printf("VII");break;
case8: printf("VIII");break;
case9: printf("IX");break;
}
}
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
[COLOR=Red][B]int[/B][/COLOR] main (void)
{
char nc;
printf("Insira o nº que deseja Converter");
scanf("%c",& nc);
switch([COLOR=Red][B]nc[/B][/COLOR])
{
case [B][COLOR=Red]'1'[/COLOR][/B]: printf("I");break;
case [B][COLOR=Red]'2'[/COLOR][/B]: printf("II");break;
case [B][COLOR=Red]'3'[/COLOR][/B]: printf("III");break;
case [B][COLOR=Red]'4'[/COLOR][/B]: printf("IV");break;
case [B][COLOR=Red]'5'[/COLOR][/B]: printf("V");break;
case [B][COLOR=Red]'6'[/COLOR][/B]: printf("VI");break;
case [B][COLOR=Red]'7'[/COLOR][/B]: printf("VII");break;
case [B][COLOR=Red]'8'[/COLOR][/B]: printf("VIII");break;
case [B][COLOR=Red]'9'[/COLOR][/B]: printf("IX");break;
}
}
Hmm... pois, porque eu pus o nc como char não é verdade??Assim funciona, repara bem nas correcções.Código:#include<stdio.h> #include<conio.h> #include<stdlib.h> [COLOR=Red][B]int[/B][/COLOR] main (void) { char nc; printf("Insira o nº que deseja Converter"); scanf("%c",& nc); switch([COLOR=Red][B]nc[/B][/COLOR]) { case [B][COLOR=Red]'1'[/COLOR][/B]: printf("I");break; case [B][COLOR=Red]'2'[/COLOR][/B]: printf("II");break; case [B][COLOR=Red]'3'[/COLOR][/B]: printf("III");break; case [B][COLOR=Red]'4'[/COLOR][/B]: printf("IV");break; case [B][COLOR=Red]'5'[/COLOR][/B]: printf("V");break; case [B][COLOR=Red]'6'[/COLOR][/B]: printf("VI");break; case [B][COLOR=Red]'7'[/COLOR][/B]: printf("VII");break; case [B][COLOR=Red]'8'[/COLOR][/B]: printf("VIII");break; case [B][COLOR=Red]'9'[/COLOR][/B]: printf("IX");break; } }
Ah, isso não é pseudo-código, é mesmo código, ou então o seu propósito não era compilar.