Jednoduchá kalkulačka v C - Windows prestal pracovať

C,C++,C#

Moderátori: psichac, Moderátori

alvar
Nový člen
Nový člen
Príspevky: 58
Dátum registrácie: 16 Sep 2014, 17:25

Jednoduchá kalkulačka v C - Windows prestal pracovať

Príspevok od používateľa alvar » 03 Okt 2014, 17:27

Napísal som kód jednoduchej kalkulačky a keď spustím program napíše mi: "Program .exe prestal pracovať, prosím zavrite".
Nevie niekto v čom je chyba?

Kód: Vybrať všetko

#include <stdio.h>

int main()

{
   int volba;
   int scitanec,scitavac,sucet;   
   int odcitanec,odcitavac,rozdiel;
   int nasobok,nasobitel,sucin;
   int delitel,delenec,podiel;
   
   printf("-----------------------------------------\n");
   printf("-------------- KALKULACKA ---------------\n");
   printf("-----------------------------------------\n\n");
   printf("Vyberove menu: \n");
   
   printf("[1] SCITAVANIE\n");
   printf("[2] ODCITAVANIE\n");
   printf("[3] NASOBENIENIE\n");
   printf("[4] DELENIENIE\n");
   printf("--------------------------------\n");
   printf("Zadajte vasu volbu a stlacte Enter: ");
   scanf("%d",volba);
   
   
   
 while (volba != ' ') { 
   
   switch (volba) {
   
    case '1' : { 
	          printf("Zadali ste volbu [1] SCITAVANIE\n");
	          printf("-------------------------------\n\n");
	          printf("Zadajte 1. cislo: ");
	          scanf("%d",scitanec);
	          printf("Zadajte 2. cislo: ");
	          scanf("%d",scitavac);
	          sucet = scitanec + scitavac;
	          printf("\nVysledok je %d", sucet);
	          break;
	           }
	          
    case '2' : {
              printf("Zadali ste volbu [2] ODCITAVANIE\n");
	          printf("-------------------------------\n\n");
	          printf("Zadajte 1. cislo: ");
	          scanf("%d",odcitanec);
	          printf("Zadajte 2. cislo: ");
	          scanf("%d",odcitavac);
	          rozdiel = odcitanec - odcitavac;
	          printf("\nVysledok je %d", rozdiel);
              break;
               }
      
	case '3' : {
	          printf("Zadali ste volbu [3] NASOBENIE\n");
	          printf("-------------------------------\n\n");
	          printf("Zadajte 1. cislo: ");
	          scanf("%d",nasobok);
	          printf("Zadajte 2. cislo: ");
	          scanf("%d",nasobitel);
	          sucin = nasobok * nasobitel;
	          printf("\nVysledok je %d", sucin);
	          break;
	           }
   
    case '4' : {
	          printf("Zadali ste volbu [4] DELENIE\n");
	          printf("-------------------------------\n\n");
	          printf("Zadajte 1. cislo: ");
	          scanf("%d",delitel);
	          printf("Zadajte 2. cislo: ");
	          scanf("%d",delenec);
	          podiel = delitel / delenec;
	          printf("\nVysledok je %d", podiel);
	          break;
	           }
   
    default :  { 
	          printf("Zadali ste zlu volbu, stlacte Enter pre pokracovanie...\n");
	          break;
	           }
	          
               
   }
 }  
   getchar();
   
}
0

Používateľov profilový obrázok
chameleon
Okoloidúci
Okoloidúci
Príspevky: 39
Dátum registrácie: 31 Okt 2011, 09:51
Bydlisko: Bratislava
Vek: 10
Kontaktovať používateľa:

Re: Jednoduchá kalkulačka v C - Windows prestal pracovať

Príspevok od používateľa chameleon » 03 Okt 2014, 17:39

scanf("%d",volba); volba nie je pointer, spravne:
scanf("%d",&volba);

a aj ostatne premenne ;)
0

alvar
Nový člen
Nový člen
Príspevky: 58
Dátum registrácie: 16 Sep 2014, 17:25

Re: Jednoduchá kalkulačka v C - Windows prestal pracovať

Príspevok od používateľa alvar » 03 Okt 2014, 17:45

Som idiot.. :D.. okej .. ale teraz mi pise len prikaz z defaultu keď zadám napr. 1... Nechápem..
0

Používateľov profilový obrázok
chameleon
Okoloidúci
Okoloidúci
Príspevky: 39
Dátum registrácie: 31 Okt 2011, 09:51
Bydlisko: Bratislava
Vek: 10
Kontaktovať používateľa:

Re: Jednoduchá kalkulačka v C - Windows prestal pracovať

Príspevok od používateľa chameleon » 03 Okt 2014, 17:47

To preto ze '1' je ASCII hodnota znaku 1, v case-e daj iba 1, scanf ti vracia hodnotu. A este jeden problemik ale na ten dojdes...
0

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok