fezinn Posted April 27, 2009 at 12:50 AM Report #259276 Posted April 27, 2009 at 12:50 AM Olá pessoal! Gostaria de saber o meu erro neste código: main(){ int opcao,opcaoc1,opcaot1,opcaov1,; double mm,cm,km,m,valorc,valort,valorv,s,min,h,dia,mes,ano,kmh,ms; char medida[12]="quilometros"; printf("\t - MENU -\n\n"); printf(" 1 - Conversao de Comprimento\n"); printf(" 2 - Conversao de Tempo\n"); printf(" 3 - Conversao de Velocidade\n"); scanf("%d",&opcao); scanf("%*[^\n]"); scanf("%*c"); switch (opcao){ case 1: system("cls"); printf("\n\t\t\t- CONVERSAO DE COMPRIMENTO -\n\n\n\n\n"); printf(" > Qual o valor que se deseja converter? "); scanf("%lf",&valorc); scanf("%*[^\n]"); scanf("%*c"); printf("\n\n\n > Qual a unidade de medida deste valor?\n"); printf("\n 1 - Milimetros"); printf("\n 2 - Centimetros"); printf("\n 3 - Metros"); printf("\n 4 - Quilometros\n"); scanf("%d",&opcaoc1); scanf("%*[^\n]"); scanf("%*c"); switch (opcaoc1){ case 1: km=valorc/1000000; cm=valorc/10; m=valorc/1000; mm=valorc; medida='quilometros'; // O ERRO ESTÁ AQUI SEGUNDO O COMPILADOR break; case 2: mm=10*valorc; m=valorc/100; km=valorc/100000; cm=valorc; break; case 3: mm=valorc*10000; cm=valorc/100; km=valorc/1000; m=valorc; break; case 4: mm=valorc*1000000; cm=valorc*100000; m=valorc*1000; km=valorc; break; default: printf("\n\n Opcao invalida! Reinicie programa...\n\n"); break; } system("cls"); printf("\n\n\n\n\n Resultados obtidos para %lf%s\n\n Em milimetros: a %.2lfmm\n",valorc,medida,mm); printf(" Em centimetros: %lfcm\n",cm); printf(" Em metros: %lfm\n",m); printf(" Em quilometros: %lfkm\n\n",km); system("PAUSE"); break; }// E o código continua, mas o erro é aqui ... Quando o programa vai imprimir "\n\n\n\n\n Resultados obtidos para %lf%s\n\n Em milimetros: a %.2lfmm\n",valorc,medida,mm)" o programa dá erro, e fecha. O que aconteceu? Obrigado desde já!
Njay Posted April 27, 2009 at 01:39 AM Report #259280 Posted April 27, 2009 at 01:39 AM O erro é bastante óbvio. Mas antes de alguém te dizer qual é o problema, precisas de colocar aqui a mensagem de erro do compilador. Quando vamos pedir ajuda temos que indicar toda a informação acerca do nosso problema. Blog: Tróniquices ~ Projecto: EmbeddedDreams.com
fezinn Posted April 27, 2009 at 01:41 AM Author Report #259281 Posted April 27, 2009 at 01:41 AM Dá aquele problema do Windows: Enviar Relatório de Erros...
TheDark Posted April 27, 2009 at 10:41 AM Report #259319 Posted April 27, 2009 at 10:41 AM Devias fazer debug em vez de executar. Ajudava-te a compreender onde está o erro e possivelmente a corrigi-lo 👍 Devias também ler sobre caracteres e strings em c (sobretudo como copiar cadeias de caracteres), e a diferença entre aspas e plicas. Desaparecido.
debliu Posted April 27, 2009 at 10:49 AM Report #259322 Posted April 27, 2009 at 10:49 AM assim sem preceber nada de C diria que isto: medida='quilometros' é assim: medida="quilometros" http://bolachas4.blogspot.com
fezinn Posted April 28, 2009 at 08:58 PM Author Report #259813 Posted April 28, 2009 at 08:58 PM assim sem preceber nada de C diria que isto: medida='quilometros' é assim: medida="quilometros" Já fiz isso, não mudou nada. =/
fezinn Posted April 29, 2009 at 06:26 PM Author Report #260024 Posted April 29, 2009 at 06:26 PM Up, por favor pessoal, me ajudem!
TheDark Posted April 29, 2009 at 06:33 PM Report #260027 Posted April 29, 2009 at 06:33 PM Já fizeste debug para descobrir em que linha acontece o erro...? Desaparecido.
fezinn Posted April 29, 2009 at 10:55 PM Author Report #260127 Posted April 29, 2009 at 10:55 PM Microsoft Visual C++ Compiler: 1>------ Build started: Project: Conversor de Medidas, Configuration: Debug Win32 ------1>Linking... 1>LINK : fatal error LNK1561: entry point must be defined 1>Build log was saved at "file://c:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\Project1\Conversor de Medidas\Conversor de Medidas\Debug\BuildLog.htm" 1>Conversor de Medidas - 1 error(s), 0 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== Bloodshed Dev C++: Line: 50:46 C:\Documents and Settings\Administrator\Desktop\Stuff\Programação\Programas\Conversor.cpp [Warning] character constant too long for its type C:\Documents and Settings\Administrator\Desktop\Stuff\Programação\Programas\Conversor.cpp In function `int main()': Line: 50 C:\Documents and Settings\Administrator\Desktop\Stuff\Programação\Programas\Conversor.cpp incompatible types in assignment of `int' to `char[12]' A linha 50 é esta (LINE 50): medida='quilometros'; --> Eu já coloquei entre aspas normais, e dá isso: Line: 50 C:\Documents and Settings\Administrator\Desktop\Stuff\Programação\Programas\Conversor.cpp ISO C++ forbids assignment of arrays O que eu faço?! Algum problema quando declarei a string? O que é?!
fezinn Posted April 29, 2009 at 10:57 PM Author Report #260128 Posted April 29, 2009 at 10:57 PM O código no pastie.org: http://pastie.org/463199
TheDark Posted April 29, 2009 at 11:52 PM Report #260150 Posted April 29, 2009 at 11:52 PM Dá aquele problema do Windows: Enviar Relatório de Erros... Então nem sequer consegues compilar. O que faz todo o sentido, dado o erro no código. Aconselho-te a leres este artigo do nosso wiki, bem como isto e isto. Desaparecido.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now