Advertisement
gavrilo93

Pogadjanje reci

Dec 24th, 2012
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.36 KB | None | 0 0
  1. /* U datoteci tajna.txt nalazi se reč dužine ne veće od 20 karaktera.
  2. Reč se sastoji isključivo od malih slova. Napisati program za pogađanje reči.
  3. Program treba da učita reč iz datoteke, a zatim da sa standardnog ulaza čita
  4. jedno po jedno slovo koja daje korisnik pogađajući da li ih reč sadrži.
  5. Po učitavanju svakog slova program treba da ispiše ona slova u reči koja
  6. su dotad pogđena. Na mestima ostalih slova treba da budu karakteri *.
  7. Voditi računa o mogućnosti da korisnik greškom unese nešto što nije slovo,
  8. takođe i neko slovo koje je ranije već unosio. Program ne treba da pravi
  9. razliku između malih i velikih slova, tj. ako korisnik unese neko veliko
  10. slovo, program treba da ga tretira kao malo slovo. Kada sva slova budu pogođena,
  11. program treba da ispiše ukupan broj pokušaja. Primer sesije za slučaj kada je
  12. reč koja se pogađa zdravo bi mogao biti:*/
  13.  
  14. #include <stdio.h>
  15. #include <stdlib.h>
  16. #include<errno.h>
  17. #include<string.h>
  18.  
  19. #define MAXL 20
  20. int main(){
  21.     char rec[MAXL];
  22.     char ispis[MAXL];
  23.     int i, pogod = 0, pokus = 0;
  24.     int duzina;
  25.     char slovo;
  26.  
  27.     FILE *pf;
  28.     pf = fopen("tajna.txt", "r");
  29.     if((pf) == NULL)
  30.         {
  31.             perror("\n Datoteka >>tajna.txt<< se ne moze otvoriti!!\n");
  32.             exit(errno);
  33.         }
  34.     fscanf(pf, "%s", rec);
  35.  
  36.     duzina = strlen(rec);
  37.  
  38.     for(i=0; i<duzina; i++)
  39.     {
  40.         ispis[i] = '*';
  41.         ispis[duzina] = '\0';
  42.     }
  43.     printf("trazena rec ima %d slova\n", duzina);
  44.     for(i = 0; i<duzina; i++)
  45.         printf("%c", ispis[i]);
  46.  
  47.     while(pogod<duzina)
  48.     {
  49.         printf("\nunesite slovo za koje mislite da se nalazi u reci!!\n");
  50.         scanf("%c", &slovo);
  51.         if(slovo>64 && slovo<91) slovo+=32;
  52.         if(slovo < 65 || (slovo >90 && slovo<97) || (slovo > 122))
  53.             {
  54.                 printf("niste uneli slovo vec neki drugi znak, pokusajte ponovo!!\n ");
  55.                 scanf("%c", &slovo);
  56.                 pokus++;
  57.             }
  58.         fflush(stdin);
  59.         pokus++;
  60.  
  61.         for(i = 0; i<duzina; i++)
  62.         {
  63.             if ( slovo == rec[i])
  64.             {
  65.                 ispis[i] = slovo;
  66.                 pogod++;
  67.             }
  68.         }
  69.         for(i = 0; i<duzina; i++)
  70.         printf("%c", ispis[i]);
  71.  
  72.  
  73.     }
  74.  
  75.     printf("\nbroj pokusaja: %d", pokus);
  76.  
  77.  
  78.  
  79.  
  80.  return 0;
  81.  
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement