Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

[zadatak] telefon

[es] :: C/C++ programiranje :: C/C++ za početnike :: [zadatak] telefon

[ Pregleda: 3043 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ivanzj

Član broj: 150597
Poruke: 76
*.cpu.elf.stuba.sk.



+2 Profil

icon [zadatak] telefon09.10.2008. u 08:50 - pre 189 meseci
potrebno je napraviti program, koji ce za uneto slovo ispisati odgovarajuci broj a za broj odgovarajuca slova.

Code:

#include <stdio.h>
#include <ctype.h>

int main ()
{
    char z;
    printf("upisite broj ili slovo.\n");
    z=tolower(getchar());
    switch( z )
     {
        case '2':
            printf("a,b,c.\n",z);
            break;
        case '3':
            printf("d,e,f.\n",z);
            break;
        case '4':
            printf("g,h,i.\n",z);
            break;
        case '5':
            printf("j,k,l.\n",z);
            break;
        case '6':
        printf("m,n,o.\n",z);
            break;
.

.


problem je sto ne znam da ga nateram da prepozna napr.10 i da ispise nesto tipa to ne postoji

hvala
 
Odgovor na temu

karas

Član broj: 5574
Poruke: 482
62.189.100.*



+1 Profil

icon Re: [zadatak] telefon09.10.2008. u 09:22 - pre 189 meseci
switch radi samo sa integralnim tipovima tako da
Code:

case '10':

ne mozes da koristis. Zapravo, '10' nije ni pravilno, treba "10". Ubaci jednu default granu za sve ostalo sto ne postoji.
Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
 
Odgovor na temu

StefanJer91
Stefan Jeremic
Beograd

Član broj: 121923
Poruke: 160
*.static.ikomline.net.



Profil

icon Re: [zadatak] telefon09.10.2008. u 10:10 - pre 189 meseci
Ako ti treba za proveravanje broja, koristi scanf

Code:

int b;
printf("Unesite broj: ");
scanf("%d", &b);


Posle radis proveru koja ti treba :) Inace razmisli o tome da ne koristis switcheve jer koliko vidim postoji pravilo kako se dobijaju slova tako da se to moze dosta skratiti. Recimo ako je:
0 a, b, c
1 d, e, f
2 g, h, i
...

onda moze nesto ovako (nisam testirao ali 99% radi)

Code:

char c = 'a'+b*3;
printf("%c %c %c\n", c, c+1, c+2);


EDIT:
Ovako ces i lakse moci da testiras da li ima neki broj odnosno ako je b > 9 ili ako je b < 0 onda program ne moze da radi :)
The earth teaches us more about ourselves than all the books. Because it resists us. Man discovers himself when he measures himself against the obstacle.
 
Odgovor na temu

ivanzj

Član broj: 150597
Poruke: 76
*.ynet.sk.



+2 Profil

icon Re: [zadatak] telefon13.10.2008. u 15:51 - pre 188 meseci
program mi izgleda ovako:
Code:

#include <stdio.h>
#include <ctype.h>

int main ()
{
    char z;
    printf("upisi neseto\n");
    z=tolower(getchar());
     switch( z )
     {
        case '2':
            printf("na 2 su a,b,c.\n",z);
            break;
        case '3':
            printf("na  3 su d,e,f.\n",z);
            break;
        case '4':
            printf("na 4 su g,h,i.\n",z);
            break;
        case '5':
            printf("na 5 su j,k,l.\n",z);
            break;
        case '6':
            printf("na  6  m,n,o.\n",z);
            break;
        case '7':
            printf("na  7 p,q,r,s.\n",z);
            break;
        case '8':
            printf("na 8  t,u,v.\n",z);
            break;
        case '9':
            printf("na9  w,x,y,z.\n",z);
            break;
        case '1':
            printf("na  1 nisu nikakva slova.\n",z);
            break;  
        case 'a' :
        case 'b' :
        case 'c' :
         printf("broj 2 odgovara slovu %c na telefonu.\n",z);
         break;
        case 'd':
        case 'e':
        case 'f':
            printf("broj 3 odgovara slovu %c na telefonu.\n",z);
            break;
        case 'g':
        case 'h':
        case 'i':
            printf(" 4 \n",z);
            break;
        case 'j':
        case 'k':
        case 'l':
            printf("5 %c \n",z);
            break;
        case 'm':
        case 'n':
        case 'o':
            printf("6 %c\n",z);
            break;
        case 'p':
        case 'q':
        case 'r':
        case 's':
            printf(" 7 %c\n",z);
            break;
        case 't':
        case 'u':
        case 'v':
            printf(" 8 %c\n",z);
            break;
        case 'w':
        case 'x':
        case 'y':
        case 'z':
            printf("9 %c\n",z);
            break;
    
        default  :
           printf( "%c nepravilno uneseno\n", z );
           break;
           }

     return 0;
}


e sad, ovo nije dobro, posto kad upisem 12, on procita samo prvi znak tj. 1, isto tako i ako upisem vise slova npr. xfgfd, uzme x

kako da resim ovo?

[Ovu poruku je menjao X Files dana 13.10.2008. u 18:06 GMT+1]
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: [zadatak] telefon13.10.2008. u 16:34 - pre 188 meseci
koristi gets umetso getchar (i naravno treba ti neki buffer u koji ces da smestis unos)
 
Odgovor na temu

ivanzj

Član broj: 150597
Poruke: 76
*.ynet.sk.



+2 Profil

icon Re: [zadatak] telefon15.10.2008. u 23:56 - pre 188 meseci
Code:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
    char z[10];

    printf("Zadajte cislicu alebo pismeno.\n");
    
    scanf("%s", z);

    if(strlen(z) > 1)
        printf("\n**ERROR*\n");
        int i = 0;
        while(i < strlen(z))
          
        {


     switch( z[i])
     {
        case '2':
            printf("na 2 su a,b,c.\n",z);
            break;
        case '3':
            printf("na  3 su d,e,f.\n",z);
            break;
        case '4':
            printf("na 4 su g,h,i.\n",z);
            break;
        case '5':
            printf("na 5 su j,k,l.\n",z);
            break;
        case '6':
            printf("na  6  m,n,o.\n",z);
            break;
        case '7':
            printf("na  7 p,q,r,s.\n",z);
            break;
        case '8':
            printf("na 8  t,u,v.\n",z);
            break;
        case '9':
            printf("na9  w,x,y,z.\n",z);
            break;
        case '1':
            printf("na  1 nisu nikakva slova.\n",z);
            break;  
        case 'a' :
        case 'b' :
        case 'c' :
         printf("broj 2 odgovara slovu %c na telefonu.\n",z[i]);
         break;
        case 'd':
        case 'e':
        case 'f':
            printf("broj 3 odgovara slovu %c na telefonu.\n",z[i]);
            break;
        case 'g':
        case 'h':
        case 'i':
            printf(" 4 \n",z[i]);
            break;
        case 'j':
        case 'k':
        case 'l':
            printf("5 %c \n",z[i]);
            break;
        case 'm':
        case 'n':
        case 'o':
            printf("6 %c\n",z[i]);
            break;
        case 'p':
        case 'q':
        case 'r':
        case 's':
            printf(" 7 %c\n",z[i]);
            break;
        case 't':
        case 'u':
        case 'v':
            printf(" 8 %c\n",z[i]);
            break;
        case 'w':
        case 'x':
        case 'y':
        case 'z':
            printf("9 %c\n",z[i]);
            break;
    
        default  :
           printf( "%c nepravilno uneseno\n", z [i]);
           break;
           }

     return 0;
}


ovako sam uradio. Sad imam problem. Ispise mi i error, ali i vrednost za svaki znak ponaosob

[Ovu poruku je menjao ivanzj dana 16.10.2008. u 02:24 GMT+1]
 
Odgovor na temu

ivanzj

Član broj: 150597
Poruke: 76
*.cpu.elf.stuba.sk.



+2 Profil

icon Re: [zadatak] telefon16.10.2008. u 09:26 - pre 188 meseci
ok
resio sam to

Code:

#include

<stdio.h> 
#include

<string.h> 
int

main () 
{




char z[100]; 
printf("Zadajte cislicu alebo pismeno.\n");


 

scanf("%s", z);


int i = 0; 


if(strlen(z) > 1){ 
printf("\n**ERROR*\n");

}


else{ 
 


{

 


switch( z[i]) 
{


case '2': 
printf("na klavese 2 sa nachadzaju pismena a,b,c.\n",z);


break; 

case '3': 
printf("na klavese 3 sa nachadzaju pismena d,e,f.\n",z);


break; 

case '4': 
printf("na klavese 4 sa nachadzaju pismena g,h,i.\n",z);


break; 

case '5': 
printf("na klavese 5 sa nachadzaju pismena j,k,l.\n",z);


break; 

case '6': 
printf("na klavese 6 sa nachadzaju pismena m,n,o.\n",z);


break; 

case '7': 
printf("na klavese 7 sa nachadzaju pismena p,q,r,s.\n",z);


break; 

case '8': 
printf("na klavese 8 sa nachadzaju pismena t,u,v.\n",z);


break; 

case '9': 
printf("na klavese 9 sa nachadzaju pismena w,x,y,z.\n",z);


break; 

case '1': 
printf("na klavese 1 nie su ziadne pismena.\n",z);


break; 

case '0': 
printf("na klavese 0 nie su ziadne pismena.\n",z);


break; 

case 'a' : 

case 'b' : 

case 'c' : 

case 'A' : 

case 'B' : 

case 'C' : 
printf("Cislica 2 odpoveda pismenu %c na telefone.\n",z[i]);


break; 

case 'd': 

case 'e': 

case 'f': 

case 'D': 

case 'E': 

case 'F': 
printf("Cislica 3 odpoveda pismenu %c na telefone.\n",z[i]);


break; 

case 'g': 

case 'h': 

case 'i': 

case 'G': 

case 'H': 

case 'I': 
printf("Cislica 4 odpoveda pismenu %c na telefone.\n",z[i]);


break; 

case 'j': 

case 'k': 

case 'l': 

case 'J': 

case 'K': 

case 'L': 
printf("Cislica 5 odpoveda pismenu %c na telefone.\n",z[i]);


break; 

case 'm': 

case 'n': 

case 'o': 

case 'M': 

case 'N': 

case 'O': 
printf("Cislica 6 odpoveda pismenu %c na telefone.\n",z[i]);


break; 

case 'p': 

case 'q': 

case 'r': 

case 's': 

case 'P': 

case 'Q': 

case 'R': 

case 'S': 
printf("Cislica 7 odpoveda pismenu %c na telefone.\n",z[i]);


break; 

case 't': 

case 'u': 

case 'v': 

case 'T': 

case 'U': 

case 'V': 
printf("Cislica 8 odpoveda pismenu %c na telefone.\n", z[i]);


break; 

case 'w': 

case 'x': 

case 'y': 

case 'z': 

case 'W': 

case 'X': 

case 'Y': 

case 'Z': 
printf("Cislica 9 odpoveda pismenu %c na telefone.\n", z[i]);


break; 


default : 
printf( "%c nie je spravny znak.\n", z[i] );


break; 
}

i++;

}

}


return 0; 




:D
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: [zadatak] telefon

[ Pregleda: 3043 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.