Reťazcový vstup pre užívateľa, (od)mocniny v C - Ako na to?

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

Reťazcový vstup pre užívateľa, (od)mocniny v C - Ako na to?

Príspevok od používateľa alvar » 12 Okt 2014, 14:42

Chcel by som vedieť, ako mám nejaký program naprogramovať tak, aby užívateľ musel zadať nejaký reťazec, pre splnenie nejakej podmienky... Napr. zobrazí sa mu v príkazovom riadku výberové menu a keď zadá dané slovo, program prejde na túto funkciu.. Aký dátový typ použiť a ako sformulovať scanf? Díky

Ďakujem.
0

Samanko
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1106
Dátum registrácie: 03 Máj 2013, 16:18
Bydlisko: Up there in the sky

Re: Reťazcový vstup pre užívateľa, (od)mocniny v C - Ako na to?

Príspevok od používateľa Samanko » 12 Okt 2014, 15:34

Kukni si prikaz switch :)
0
“Strong people don't put others down... They lift them up.“ Michal P. Watson.
„Pravda musí čelit více zkoumajícím pohledům !"
„We cannot choose our external circumstances, but we can always choose how we respond to them'' Epiktetos

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

Re: Reťazcový vstup pre užívateľa, (od)mocniny v C - Ako na to?

Príspevok od používateľa alvar » 12 Okt 2014, 15:53

No veď zo switchu by bolo to vyberove menu len ja chcem vedieť ako mám zadefinovať premennú, ktorá bude reťazec....
0

21stano21
Stály člen
Stály člen
Príspevky: 239
Dátum registrácie: 05 Jan 2013, 17:48
Bydlisko: ZM

Re: Reťazcový vstup pre užívateľa, (od)mocniny v C - Ako na to?

Príspevok od používateľa 21stano21 » 12 Okt 2014, 16:03

nestačí ti vypísať do konzoly malé info čo ktorý znak znamená a načítavať len char po stlačení klávesnice?
0
The power of Linux.

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

Re: Reťazcový vstup pre užívateľa, (od)mocniny v C - Ako na to?

Príspevok od používateľa alvar » 12 Okt 2014, 16:09

Nestačí.. Chcem vedieť zadefinovať reťazec :P
0

Používateľov profilový obrázok
rudko
Power user
Power user
Príspevky: 2340
Dátum registrácie: 28 Dec 2012, 08:33
Vek: 37

Re: Reťazcový vstup pre užívateľa, (od)mocniny v C - Ako na to?

Príspevok od používateľa rudko » 12 Okt 2014, 16:25

Ucebnica jazyka C od pavla herouta
Tymto by si mal zacat. A kupodivu sa tam dozvies aj odpoved na tvoju otazku ;-)
0
Drink coffee. Do stupid things faster with more energy...

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

Re: Reťazcový vstup pre užívateľa, (od)mocniny v C - Ako na to?

Príspevok od používateľa alvar » 12 Okt 2014, 16:32

Tú knihu doma mám, ale zdá sa mi, že Herout si myslí, že už všetko čo tam píše viem urobiť v Pascale, čiže som ju nateraz odložil a hľadám si viac vysvetlené výrazy na internete..
0

21stano21
Stály člen
Stály člen
Príspevky: 239
Dátum registrácie: 05 Jan 2013, 17:48
Bydlisko: ZM

Re: Reťazcový vstup pre užívateľa, (od)mocniny v C - Ako na to?

Príspevok od používateľa 21stano21 » 12 Okt 2014, 17:10

ja tu knihu mám tiež a dal som si tú námahu, pozri s.196 a 204 je to tam polopatisticky :thanks:
0
The power of Linux.

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: Reťazcový vstup pre užívateľa, (od)mocniny v C - Ako na to?

Príspevok od používateľa peterple » 12 Okt 2014, 17:54

alvar napísal:Nestačí.. Chcem vedieť zadefinovať reťazec :P
v C je reťazec pole znakov ukončené znakom 0. Ten ukončovací znak vkladá prekladač automaticky za reľazec
takže napríklad takto:

Kód: Vybrať všetko

char slovo [10] = "ahoj";
Urobil som pole v ktorom môže byť maximálne deväť písmen a ukončovacia nula.
Tak ako som to definovall sú tam 4 písmena a znak 0 ďalších 5 znakov sa nevie čo je v nich. Iba ja a prekladač vieme že tam sú a keď treba tak si tam môžem uložiť slovo do celkovej dĺžky 9 písmen.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

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

Re: Reťazcový vstup pre užívateľa, (od)mocniny v C - Ako na to?

Príspevok od používateľa alvar » 12 Okt 2014, 19:07

Ahaaa takto sa to definuje :) z tej knižky je dosť ťažké výjsť :/ Ja by som chcel ešte trochu inak, že napr. spravím nejaký cyklus a na jeho ukončenie užívateľ bude musieť napísať 'koniec'. Našiel som kúsok kódu podľa ktorého by sa to dalo spraviť:

#include <stdio.h>
main()
{
char slovo[10];
printf("Na ukoncenie programu napis \"koniec\": ");
scanf("%s", slovo);
}

Ešte si to musím naštudovať ale takýmto princípom by to mohlo fungovať. Btw vďaka za radu ;)
0

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: Reťazcový vstup pre užívateľa, (od)mocniny v C - Ako na to?

Príspevok od používateľa peterple » 12 Okt 2014, 19:21

Mohlo. Ale iba potiaľ, pokým užívateľ nenapíše viac ako 9 písmen. Potom sa začnú diať veci. Aké to záleží od toho aký zdatný je ten užívateľ. Práve si mu dal možnosť ukladať si do zásobníka čo len chce. Ako toho využije(zneužije) záleží len od toho ako dobre tomu rozumie.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

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

Re: Reťazcový vstup pre užívateľa, (od)mocniny v C - Ako na to?

Príspevok od používateľa alvar » 12 Okt 2014, 19:39

Ešte jedna otázočka... Stále nechápem kedy dať slovo do ' ' a kedy nie. Viem, že to súvisí nejako s ASCII ale neviem kedy :/
Ďalšia vec.. je lepšie použiť cyklus do-while alebo iba while? Napr. chcel by som ten cyklus robiť, pokiaľ nenapíšem koniec.:

#include <stdio.h>
int main()
{
char slovo[10] = "koniec";

while ( tu neviem ako sformulovať podmienku ) {

;

}

return 0;
}
0

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: Reťazcový vstup pre užívateľa, (od)mocniny v C - Ako na to?

Príspevok od používateľa peterple » 12 Okt 2014, 19:54

Slovo (reťazec) sa do apostrofov nedáva nikdy. Do apostrofov sa dáva znak.
Lepší bude asi cyklus do pretože chceš aby si do neho prvý krát vošiel. Ale možno aj nie. Nevidím do tvojej hlavy čo plánuješ robiť.
Podmienka - potrebuješ porovnať dva reťazce na to má C niekoľko funkcií, tak si nejakú vyber.

Ešte k tej deklarácii. Tú dĺžku poľa tam nemusíš písať. Pole bude potom presne tak dlhé ako ten inicializačný string.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

Používateľov profilový obrázok
rudko
Power user
Power user
Príspevky: 2340
Dátum registrácie: 28 Dec 2012, 08:33
Vek: 37

Re: Reťazcový vstup pre užívateľa, (od)mocniny v C - Ako na to?

Príspevok od používateľa rudko » 12 Okt 2014, 20:00

z tej knižky je dosť ťažké výjsť
ako nehnevaj sa na mna ale ak je ta knizka pre teba tazka tak neviem ci si si vybral spravny smer. myslim ze zaklady su tam vysvetlene najlepsie ako sa len da
0
Drink coffee. Do stupid things faster with more energy...

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

Re: Reťazcový vstup pre užívateľa, (od)mocniny v C - Ako na to?

Príspevok od používateľa alvar » 12 Okt 2014, 20:09

Hmm.. Ak by som ti poslal ten programik vedel by si mi ten cyklus spraviť tak, že po prečítaní slova koniec program skončí? Jednak mi ušetríš čas, jednak to rýchlejšie pochopím a ty si to precvičíš ak teda máš minútku :) .... Mám s Céčkom a programovaním minimálnu skúsenosť takže by som bol šťastný :D
0

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: Reťazcový vstup pre užívateľa, (od)mocniny v C - Ako na to?

Príspevok od používateľa peterple » 12 Okt 2014, 21:10

Dobrý pokus. Vidím samé výhody pre mňa. Ale ani jedna ma nezaujala. Prečo by som mal riešiť za niekoho zadania do školy?
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

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

Re: Reťazcový vstup pre užívateľa, (od)mocniny v C - Ako na to?

Príspevok od používateľa alvar » 12 Okt 2014, 21:35

Nie je to žiadne zadanie do školy...učím sa to sám, preto sa pýtam tu lebo v škole ma to možno ani nenaučia a ked, tak možno o rok... som druhák na strednej a programovanie mám prvý rok. Baví ma to a chcem sa v tom zdokonaľovať.. Ten môj programík má 500 riadkov aj ked su niektoré zbytočné ale ide o to, že nechcem aby si mi napísal celý program ale len pár riadkov, ktoré by mi pomohli.. Teraz ten cyklus ukončujem stlačením čísla 0 ... keby si mi to len nejak zmenil na slovo bol by som ti veľmi vdačný...
0

stanleyv
Pokročilý člen
Pokročilý člen
Príspevky: 738
Dátum registrácie: 14 Máj 2007, 00:00
Bydlisko: Trnava
Vek: 51

Re: Reťazcový vstup pre užívateľa, (od)mocniny v C - Ako na to?

Príspevok od používateľa stanleyv » 12 Okt 2014, 21:40

Myslím, že by bolo dobré , ak by si tu dal svoj kód (časť kódu, ktorý potrebuješ upraviť), vložiť ho do "CODE", nech si zachová štruktúru a potom sa môžme baviť ďalej, čo a ako.... môj názor...
0
Ak nakupuješ často na ebay, Banggood, Aliexpres a pod., tu sa zaregistruj a môžeš ušetriť:
https://www.bonusway.cz?r=6361768

„Jediná druhá šance, kterou máme, je udělat stejnou chybu podruhé.“
David Mamet

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

Re: Reťazcový vstup pre užívateľa, (od)mocniny v C - Ako na to?

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

Áno, je to primitívny program len rozpísaný.. Čo by som chcel je, že ten cyklus reps. program nechcem ukončiť číslicou ale slovom napr. koniec. Ak mi to niekto prepošle do správy upravené o to slovo, budem mu vďačný. Tu je kód.:

Kód: Vybrať všetko

#include <stdio.h>
#include <time.h>
#include <math.h>

int main()

{
   const float pi = 3.1415275;
   float dph,suma,dan;                                                                                        /* uloha 4 */
   int volba,pocty,obsahy,schod,i,nahodne_cislo;                                                  /* volby a ostatne */
   float scitanec,scitanec2,mensenec,mensitel,cinitel,cinitel2,delenec,delitel;         /* poctove operacie */ 
   float a,b,v,cislo1,cislo2,c1,c2,c3,r;                                                                    /* poctove operacie */     
   char c,volba2;                                                                                                 /* volba v 3 a 8 */
   int mocnina,odmocnina;                                                                                  /* mocniny cisel */
   int umocnovanecislo,odmocnovanecislo;                                                          /* cisla, ktore umocnujem,odmocnujem */
   float finale,finale2;                                                                                          /* vysledky pri umocnovani,odmocnovani */
   
     
   do {   
   
   printf("                __________________________________________\n");
   printf("               |                                          |\n");
   printf("               |          JEDNODUCHA KALKULACKA           |\n");
   printf("               |                                          |\n");
   printf("               |____________ Oliver Olejnik ______________|\n\n");
   printf("\n   Vyberte si jednu z moznosti a kliknite Enter: \n");
   printf("   Ak chcete program ukoncit, zadajte \"0\".\n");
   printf("   ________________________________________________\n\n");
   sleep(1);
   printf("   [1] Poctove operacie (+,-,*,/)\n"); 
   sleep(1);      
   printf("   [2] Schodisko\n");
  
   sleep(1); 
   printf("   [3] Vypocty geometrickych telies\n");
   sleep(1);
   printf("   [4] Vypocet DPH cien\n"); 
   sleep(1); 
   printf("   [5] Porovnanie 2 cisel\n");
   sleep(1);
   printf("   [6] Generator nahodnych cisel\n");  
   sleep(1);
   printf("   [7] Najvacsie realne cislo\n");   
   sleep(1);
   printf("   [8] Mocnniny,Odmocniny\n");  
   sleep(1);
   printf("   ________________________________________________\n");   
   printf("\n   Vasa volba ---->  \a");
   scanf("%d",&volba);
   
      
   switch (volba) {
   
    case 1 :  {
                system("cls");
                printf("\nZadali ste volbu: [1] POCTOVE OPERACIE (+,-,*,/).\n");
                printf("--------------------------------------------------\n\n");
                printf("   Vyberte si, ktoru poctovu operaciu chcete uskutocnit:\n");
                printf("   Ak chcete skoncit, zadajte do volby \"0\" \n");
                printf("   _______________________________________________________\n\n");
                printf("   [1] Scitavanie\n");
                sleep(1);
                printf("   [2] Odcitavanie\n");
                sleep(1);
                printf("   [3] Nasobenie\n");
                sleep(1);
                printf("   [4] Delenie\n");
                sleep(1);
                printf("   ________________________________________________________\n\n");
                printf("   Vasa volba ---->  ");
                scanf("%d",&pocty);
                
	          			  
			  switch (pocty) {
			  
			    case 1 : {
			               system("cls"); 
	                       printf("\nZadali ste volbu: [1] SCITAVANIE\n");
	                       printf("-------------------------------\n\n");
	                       printf("Zadajte 1. cislo: ");
	                       scanf("%f",&scitanec);
	                       printf("Zadajte 2. cislo: ");
	                       scanf("%f",&scitanec2);	          
	                       printf("\nVysledok je %.2f\n", scitanec + scitanec2);	
			               printf("\n___________________________________________\n");
		                   printf("\nPre pokracovanie  stlacte ENTER!\n\n");          
	                       getchar();
	                       getchar();
	                       system("cls");	                       
						   break;				
				         }
			             
			    case 2 : {
				           system("cls");
                           printf("\nZadali ste volbu: [2] ODCITAVANIE\n");
	                       printf("-------------------------------\n\n");
	                       printf("Zadajte 1. cislo: ");
	                       scanf("%f",&mensenec);
	                       printf("Zadajte 2. cislo: ");
	                       scanf("%f",&mensitel);	          
	                       printf("\nVysledok je %.2f", mensenec - mensitel);
	                       printf("\n___________________________________________\n");
		                   printf("\nPre pokracovanie  stlacte ENTER!\n\n");
	                       getchar();
	                       getchar();
	                       system("cls");
                           break;		 
						 }
			  
			    case 3 : {
	                       system("cls");
	                       printf("\nZadali ste volbu: [3] NASOBENIE\n");
	                       printf("-------------------------------\n\n");
	                       printf("Zadajte 1. cislo: ");
	                       scanf("%f",&cinitel);
	                       printf("Zadajte 2. cislo: ");
	                       scanf("%f",&cinitel2);	          
	                       printf("\nVysledok je %.2f", cinitel * cinitel2);
	                       printf("\n___________________________________________\n");
			               printf("\nPre pokracovanie  stlacte ENTER!\n\n");
	                       getchar();
	                       getchar();
	                       system("cls");
	                       break;
	                     }
	                       
			    case 4 : {
                           system("cls");
	                       printf("\nZadali ste volbu: [4] DELENIE\n");
	                       printf("-------------------------------\n\n");
	                       printf("Zadajte 1. cislo: ");
	                       scanf("%f",&delenec);
	                       printf("Zadajte 2. cislo: ");
	                       scanf("%f",&delitel);	          
	                       printf("\nVysledok je %.2f", delenec / delitel);
	                       printf("\n___________________________________________\n");
			               printf("\nPre pokracovanie  stlacte ENTER!\n\n");
	                       getchar();
	                       getchar();
	                       system("cls");
	                       break;
	                     }
	                     
	            default : {
				           system("cls"); 
	          
			                  if (volba > 10) {
			     
			                     printf("\nZadali ste zlu volbu!\n");
			                     printf("\n___________________________________________\n");
			                     printf("\nPre pokracovanie  stlacte ENTER!\n\n");
			                     getchar();
					             getchar();
	                             }
	                      system("cls");
	                      break;
				          } 
				}		          
			      break;		  
			      
			  } while (volba != 0)
		 
    
	case 2 :  {
              system("cls");
			  printf("\nZadali ste volbu: [2] SCHODISKO\n\n");
			  printf("Predstavte si, ze Vas od domu deli 10 schodov.\n");
			  printf("Klikajte Enter pre vyjdenie schodiska..\n");
			  printf("____________________________________________________");
			  
			  for ( schod = 0; schod < 10; schod++ ) {
			      
			      printf("\nUz si na %d. schode! Podme, podme!",schod);
			      getchar();
			      }
	         
			  printf("\nVysiel si schodisko! Gratulujem!\n");	          
	          printf("\n___________________________________________\n");
			  printf("\nPre pokracovanie  stlacte ENTER!\n\n");
			  getchar();	          
	          system("cls");	          
			  break;		  
			  }
    
   case 3 :   {
                system("cls");
                printf("\nZadali ste volbu: [3] OBSAHY GEOMETRICKYCH TELIES.\n");
                printf("--------------------------------------------------\n\n");
                printf("   Vyberte si, ktoru poctovu operaciu chcete uskutocnit:\n");
                printf("   Ak chcete skoncit, zadajte do volby \"0\" \n");
                printf("   _______________________________________________________\n\n");
                printf("   [1] (V),S,o Obdlznika/Stvorca\n");
                sleep(1);
                printf("   [2] S,o Kruhu\n");
                sleep(1);                
                printf("   ________________________________________________________\n\n");
                printf("   Vasa volba ---->  ");
                scanf("%d",&obsahy);
			  
			     switch (obsahy) {
				 
				   case 1 : {
				            system("cls");
                            printf("\nZadali ste volbu: [1] (V),S,o OBDLZNIKA/STVORCA\n");
	                        printf("----------------------------------------------\n\n");
	                        printf("   Chcete vypocitat aj objem?");
	                        printf("\n\n    a) ANO         b) NIE\n");
	                        printf("___________________________________\n");
	                        printf("\n  Vasa volba ---->  ");
	                        scanf("%c",&c);
							c = getchar();
	                        
	                        
	                           if (c == 'a') {
							   
							      system("cls");
								  printf("\nZadali ste volbu: [1] V,S,o OBDLZNIKA/STVORCA\n");
	                              printf("----------------------------------------------\n\n");
								  printf("Zadajte stranu a: ");
	                              scanf("%f",&a);
	                              printf("Zadajte stranu b: ");
	                              scanf("%f",&b);
								  printf("Zadajte vysku v: ");
								  scanf("%f",&v);	          
	                              printf("\nOBJEM = %.2f\n", a*b*v);
								  printf("OBSAH = %.2f\n", a * b);
	                              printf("OBVOD = %.2f\n", 2 * a + 2 * b); 
			                      printf("\n___________________________________________\n");
			                      printf("\nPre pokracovanie  stlacte ENTER!\n\n");          
	                              getchar();
	                              getchar(); 
	                              system("cls");
	                              break;
							   }
							   
							   if (c == 'b') {
							   
							      system("cls");
								  printf("\nZadali ste volbu: [2] S,o OBDLZNIKA/STVORCA\n");
	                              printf("----------------------------------------------\n\n");
								  printf("Zadajte stranu a: ");
	                              scanf("%f",&a);
	                              printf("Zadajte stranu b: ");
	                              scanf("%f",&b);                              
								  printf("OBSAH = %.2f\n", a * b);
	                              printf("OBVOD = %.2f\n", 2 * a + 2 * b); 
			                      printf("\n___________________________________________\n");
			                      printf("\nPre pokracovanie  stlacte ENTER!\n\n");          
	                              getchar();
	                              getchar(); 
	                              system("cls");
	                              break;
							   }
							   
							
							break;
                            }
				 
				   case 2 : {
				            system("cls");
                            printf("\nZadali ste volbu: [2] S,o KRUHU\n");
	                        printf("-----------------------------------\n\n");
	                        printf("Zadajte polomer kruhu: ");
	                        scanf("%f",&r);	                        	          
	                        printf("\nObsah = %.2f\n", pi * (r*r));
	                        printf("Obvod = %.2f\n", (2*pi) * r); 
			                printf("\n__________________________________________\n");
			                printf("\nPre pokracovanie  stlacte ENTER!\n\n");          
	                        getchar();
	                        getchar(); 
	                        system("cls");
	                        break;
                            }
				 
				 default : {
				            system("cls"); 
	          
			                  if (volba > 10) {
			     
			                     printf("\nZadali ste zlu volbu!\n");
			                     printf("\n___________________________________________\n");
			                     printf("\nPre pokracovanie  stlacte ENTER!\n\n");
			                     getchar();
					             getchar();
	                             }
	                        system("cls");
	                        break;
				           } 
				}		          
			      break;		  
			      
			  } while (volba != 0)
			  
	  
   case 4 :   {              			  
			  system("cls");
              printf("\nZadali ste volbu: [4] VYPOCET DPH Z CIEN\n");
	          printf("--------------------------------------------------------\n\n");
	          printf("Zadajte sumu, ktoru chcete zdanit: ");
              scanf("%f", &suma);            
              printf("Zadajte vysku DPH (v %%): ");
              scanf("%f", &dph);    
              printf("\nDPH z ceny je: %.2f Euro\n", suma * dph / 100);   /* tu je cista danova cena v € - nemusi byt */
              dan = suma * dph / 100;                                       /* napr. (dan v eurach) 25 = 100 x 25:100 */
              printf("\nKonecna suma je: %.2f Euro\n", suma + dan);    /* (suma) 100€ + (dan) 25€ = 125€ */
              printf("\n___________________________________________\n");
			  printf("\nPre pokracovanie  stlacte ENTER!\n\n");
              getchar();
	          getchar();
	          system("cls");
	          break;
              } 
	
   case 5 :  {
	          system("cls");
	          printf("\nZadali ste volbu: [5] POROVNAVANIE 2 CISEL\n");
	          printf("----------------------------------------------\n\n");
	          printf("Zadajte 1. cislo: ");
              scanf("%f", &cislo1);
              printf("Zadajte 2. cislo: ");
              scanf("%f", &cislo2);
   
                if ( cislo1 > cislo2 ) {   
                  printf("\n%.2f > %.2f",cislo1,cislo2);
                }
                else {
                  printf("\n%.2f > %.2f",cislo2,cislo1);
                }
               
              printf("\n___________________________________________\n");
			  printf("\nPre pokracovanie  stlacte ENTER!\n\n");
	          getchar();
	          getchar();
	          system("cls");
	          break;
	          }	
	
   case 6 :   {              			  
			  system("cls");
              printf("\nZadali ste volbu: [6] GENERATOR NAHODNYCH CISEL\n");
	          printf("--------------------------------------------------------\n\n");
	          srand(time(0));   /* inicializacia generatora nahodnych cisiel */
              printf ("Skuste si tipnut cislo od 1 - 100 :)  \n\n");
              sleep(2);
   
              for (i = 0; i <= 10; i++) {
                  sleep(1);
	              nahodne_cislo = rand()%100 + 1; /* generovanie nahodneho cisla v rozsahu 1 - 100 */      
	              printf ("%d, ",nahodne_cislo);
              }
              printf("\n\nTak co, uhadli ste nejake z nich? :)\n");
              printf("\n___________________________________________\n");
			  printf("\nPre pokracovanie  stlacte ENTER!\n\n");
			  getchar();
	          getchar();
	          system("cls");
	          break;
              } 	
	
   case 7 :   {
              system("cls");
              printf("\nZadali ste volbu: [7] NAJVACSIE REALNE CISLO\n");
	          printf("-----------------------------------------------\n\n");
	          printf("Zadaj 3 realne cisla a oddel ich medzerou: ");                                                                                          
              scanf("%f %f %f",&c1,&c2,&c3);
  
                 if ( c1 > c2 && c1 > c3) {
                    
                    printf("\nNajvacsie cislo je %.2f\n",c1);
                 }  
       
                 if ( c2 > c3 && c2 > c1) {
                    
                    printf("\nNajvacsie cislo je %.2f\n",c2); 
	             }    
  
                 if ( c3 > c1 && c3 > c2) {
                    
                    printf("\nNajvacsie cislo je %.2f\n\n",c3);
                 }           
	          
			  printf("\n___________________________________________\n");
			  printf("\nPre pokracovanie  stlacte ENTER!\n\n");
			  getchar();
	          getchar();
	          system("cls");
	          break;
              }	
	
   case 8 :   {
                system("cls");
                printf("\nZadali ste volbu: [8] MOCNINY/ODMOCNINY\n");
                printf("--------------------------------------------------\n\n");
                printf("   Vyberte si, ktoru poctovu operaciu chcete uskutocnit:\n");
                printf("   Ak chcete skoncit, zadajte do volby \"0\" \n");
                printf("   _______________________________________________________\n\n");
                printf("   [a] Umocnovanie\n");
                sleep(1);
                printf("   [b] Odmocnovanie\n");
                sleep(1);             
                printf("   ________________________________________________________\n\n");
                printf("   Vasa volba ---->  ");
                scanf("%c",&volba2);
                volba2 = getchar();
                
                    if (volba2 == 'a') {
				     
				     system("cls");
					 printf("\nZADALI STE VOLBU [1] UMOCNOVANIE\n");
				     printf("----------------------------------\n\n");
				     printf("Zadajte cislo: ");
				     scanf("%d",&umocnovanecislo);
				     printf("Zadajte mocninu: ");
				     scanf("%d",&mocnina);
				     finale = pow(umocnovanecislo,mocnina);  // UMOCNOVANIE CISLA POW(CISLO,NA KOLKU);
				     printf("\n\nCislo %d na %d. mocninu je: %.2f\n",umocnovanecislo,mocnina,finale);
				     printf("___________________________________________");
				     printf("\nPre pokracovanie  stlacte ENTER!\n\n");
			         getchar();
	                 getchar();
	                 system("cls");
	                 break;			
				    }
					
					if (volba2 == 'b') {
				     
				     system("cls");
					 printf("\nZADALI STE VOLBU [2] ODMOCNOVANIE\n");
				     printf("----------------------------------\n\n");
				     printf("Zadajte cislo: ");
				     scanf("%d",&odmocnovanecislo);
				     printf("Zadajte odmocninu: ");
				     scanf("%d",&odmocnina);
				     
				     finale2 = sqrt(odmocnovanecislo);
					 
					  
				     printf("\n\n%d. odmocnina cisla %d je: %.2f\n",odmocnina,odmocnovanecislo,finale2);
				     printf("___________________________________________");
				     printf("\nPre pokracovanie  stlacte ENTER!\n\n");
			         getchar();
	                 getchar();
	                 system("cls");
	                 break;			
				    }
					
			        else {
					
					printf("Zadali ste zlu volbu!");
					printf("\n___________________________________________\n");
			        printf("\nPre pokracovanie  stlacte ENTER!\n\n");
			        getchar();
	                getchar();				  			  
			        system("cls");
			        break;					
					}
			  		  
			  printf("\n___________________________________________\n");
			  printf("\nPre pokracovanie  stlacte ENTER!\n\n");
			  getchar();
	          getchar();				  			  
			  system("cls");
			  break;
			  }	
	
	
	
	default : {
	          system("cls"); 
	          
			     if (volba > 10) {
			     
			         printf("\nZadali ste zlu volbu!\n");
			         printf("\n___________________________________________\n");
			         printf("\nPre pokracovanie  stlacte ENTER!\n\n");
			         getchar();
					 getchar();
	                 }
	          system("cls");
	          break;
	          }
   }
      
	  } while (volba != 0);  
}
0

Hinsi
Pokročilý člen
Pokročilý člen
Príspevky: 510
Dátum registrácie: 15 Sep 2014, 15:56

Re: Reťazcový vstup pre užívateľa, (od)mocniny v C - Ako na to?

Príspevok od používateľa Hinsi » 13 Okt 2014, 19:22

Né vůbec to není do školy. Z toho zdrojáku to bije přímo do očí.
0

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