Η σελίδα μας αναβαθμίστηκε, γι' αυτό τον λόγο τα μέλη μας θα πρέπει να ζητήσουν νέο κωδικό πρόσβασης από την υπηρεσία "Αποστολή κωδικού πρόσβασης".
Εάν το email με τον νέο κωδικό δεν έρθει στο inbox κοιτάξτε και στο spam folder. Ο server είναι φρέσκος και δεν έχει το reputation που του αξίζει.

help plx se ena aplo programma C !!

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
bullzi
Δημοσιεύσεις: 6
Εγγραφή: 26 Νοέμ 2009 21:39

help plx se ena aplo programma C !!

Δημοσίευση από bullzi » 27 Νοέμ 2009 18:24

geia sas einai to prwto mou post.. ftiaxnw ena aplo kata ta fainomena programma kai de mou vgainei apotelesma. xrhsimopoio ti dev C kai 8a i8ela na rixete mia matia ki eseis na mou peite ti paizei an einai kati pou de vlepw...
to 8ema tis askhseis einai to eksis: Να γραφεί αλγόριθμος ο οποίος θα ζητά την εισαγωγή του ΡΙΝ (ακέραιος τετραψήφιος αριθμός) για ένα κινητό τηλέφωνο. Κατόπιν θα το συγκρίνει με το σωστό ΡΙΝ (π.χ. 1234) και αν ο αριθμός που δόθηκε δεν είναι σωστός, θα εμφανίζει μήνυμα λάθους και θα ξαναζητά εισαγωγή του ΡΙΝ. Η διαδικασία εισαγωγής, σε περίπτωση λανθασμένου ΡΙΝ, θα επαναλαμβάνεται το πολύ μέχρι τρεις φορές. Αν ο χρήστης του τηλεφώνου, δώσει 3 φορές λάθος κωδικό, θα εμφανίζεται το μήνυμα «η συσκευή κλειδώθηκε», διαφορετικά θα εμφανίζεται ένα μήνυμα καλωσορίσματος



#include <stdio.h>

int main(){
int pin = 5555;
int pin1;
int i;

printf("dwse arithmo tetrapsifio arithmo pin: ");
scanf("%d",&pin1);
for(i=0;i<=2;i++){
if(pin1==pin)
printf("Welcome \n Nokia\n Connecting People!");

else printf("Device Locked!!! :( ");
scanf("");/*to scanf edw einai sa to systempause gia na vgalei to apotelesma kai na min kleinei i ektelesh*/
}
return 0;
}

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

help plx se ena aplo programma C !!

Δημοσίευση από virxen75 » 27 Νοέμ 2009 19:01

Κώδικας: Επιλογή όλων


#include <stdio.h>

int main&#40;&#41;&#123;
int pin = 5555;
int pin1;
int i;
int tries=0;

do&#123;
    tries++;
    //do&#123;
        printf&#40;"\ndwse arithmo tetrapsifio arithmo pin&#58; "&#41;;
        scanf&#40;"%d",&pin1&#41;;
        //if&#40;pin1<1000 || pin1>9999&#41; printf&#40;"\nden edoses 4psifio arithmo"&#41;;
    //&#125;while&#40;pin1<1000 || pin1>9999&#41;;
&#125;while&#40;tries<3 && pin1!=pin&#41;;
if&#40;pin1==pin&#41;
    printf&#40;"Welcome \n Nokia\n Connecting People!"&#41;;
else 
    printf&#40;"Device Locked!!! "&#41;;
getchar&#40;&#41;;getchar&#40;&#41;;
return 0;
&#125;
Τελευταία επεξεργασία από το μέλος virxen75 την 27 Νοέμ 2009 19:19, έχει επεξεργασθεί 2 φορές συνολικά.

bullzi
Δημοσιεύσεις: 6
Εγγραφή: 26 Νοέμ 2009 21:39

help plx se ena aplo programma C !!

Δημοσίευση από bullzi » 27 Νοέμ 2009 19:08

vasika de ginete kapoia tropopoihsh sto diko mou kwdika giati o dikos sou einai ligo pio proxwrimenos pisteuw oti ki etsi opws to kana ginete me kapoia tropopoihsh isws? den mas endiaferei na grapsoume posa tries exei kanei i na ton proeidopoihsoume gi auto sto lew kai fusika s euxaristw pou ekanes ton kopo.

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

help plx se ena aplo programma C !!

Δημοσίευση από virxen75 » 27 Νοέμ 2009 19:16

αφαίρεσε τις γραμμές με //

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

help plx se ena aplo programma C !!

Δημοσίευση από virxen75 » 27 Νοέμ 2009 19:21

ή πιο κοντά στο δικό σου έτσι

Κώδικας: Επιλογή όλων


#include <stdio.h>

int main&#40;&#41;&#123;
int pin = 5555;
int pin1;
int i;


for &#40;i=0;i<3;i++&#41;&#123;
        printf&#40;"\ndwse arithmo tetrapsifio arithmo pin&#58; "&#41;;
        scanf&#40;"%d",&pin1&#41;;
        if &#40;pin1==pin&#41; break;
    &#125;
if&#40;pin1==pin&#41;
    printf&#40;"Welcome \n Nokia\n Connecting People!"&#41;;
else 
    printf&#40;"Device Locked!!! "&#41;;
getchar&#40;&#41;;getchar&#40;&#41;;
return 0;
&#125;

bullzi
Δημοσιεύσεις: 6
Εγγραφή: 26 Νοέμ 2009 21:39

help plx se ena aplo programma C !!

Δημοσίευση από bullzi » 27 Νοέμ 2009 19:27

virxen75 έγραψε:αφαίρεσε τις γραμμές με //
auto pou exw grapsei ti la8os exei? to trexw alla den leitourgei i epanalhpsei me to prwto la8os pin pou grafw mou vgazei device locked... mhpws mporeis na mou peis ti ftaiei ston kwdika mou giati 8a trela8w...

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

help plx se ena aplo programma C !!

Δημοσίευση από dva_dev » 27 Νοέμ 2009 19:35

Οταν λέει η άσκηση να προσπαθεί Χ φορές να δώσει το pin, τότε ο κώδικας που διαβάζει το pin πρέπει να είναι μέσα στο loop. Εσύ το έχεις ακριβώς πριν ξεκινήσει, οπότε δίνεις μία φορά το pin και μετά κάνει 3 φορές τον έλεγχο (με το pin που είχες δώσει).

Το scanf λοιπόν πρέπει να είναι μέσα στο for και όχι πρίν (ή μετά). Κοίταξε τον κώδικα του virxen75, σύγκρινε τον με αυτό που έχεις δώσει, και πες μας αν έχεις απορίες.

[edit]
Πριν ξεκινήσεις να γράφεις κώδικα, θα πρότεινα να έχεις ολοκληρώσει κάποιον ψευδοκώδικα ή flowchart. Μπορεί να είναι κουραστικό, αλλά είναι απαραίτητο. Οταν αποκτήσεις εμπειρία, απλώς ο ψευδοκώδικας ή το flowchart, θα γίνει απλώς πιο γενικό και όχι λεπτομερές όπως στην αρχή.
[/edit]

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

help plx se ena aplo programma C !!

Δημοσίευση από virxen75 » 27 Νοέμ 2009 19:40


#include <stdio.h>

int main(){
int pin = 5555;
int pin1;
int i;

printf("dwse arithmo tetrapsifio arithmo pin: ");
scanf("%d",&pin1);//διαβάζει μόνο μια φορά και όχι το πολύ 3 αφού είναι εκτός for
for(i=0;i<=2;i++){//εκτελείς το πιο κάτω 3 φορές
if(pin1==pin)//αν το βρήκες
printf("Welcome \n Nokia\n Connecting People!");//τύπωσε...

else printf("Device Locked!!! ");//αλλιώς τύπωσε ....
//δεν ξαναδιαβάζεις τον pin1 άρα 3 φορές συγκρίνει το ίδιο πράγμα
scanf("");/*to scanf edw einai sa to systempause gia na vgalei to apotelesma kai na min kleinei i ektelesh*/
}
return 0;
}

bullzi
Δημοσιεύσεις: 6
Εγγραφή: 26 Νοέμ 2009 21:39

help plx se ena aplo programma C !!

Δημοσίευση από bullzi » 27 Νοέμ 2009 19:49

nai paidia to eida kai ti dior8wsa apo viasunh kai agxos ekana mpolikes xazomares... exw alles 4 askhshs gia aurio kai de tin paleuw sas euxaristw polu kai tous 2. tin askhsh ti diamorfwsa ws eksis:
#include <stdio.h>

int main(){
int pin=5555;
int i=0;
int pin1=0;


for(i=0;i<=2;i++){
printf("dwse arithmo tetrapsifio arithmo pin: ");
scanf("%d",&pin1);
if(pin1==pin)
printf("Welcome \n Nokia\n Connecting People!");
}
if(pin1!=pin)
printf("Device Locked!!! :( ");


getchar();getchar();getchar();

return 0;
}

bullzi
Δημοσιεύσεις: 6
Εγγραφή: 26 Νοέμ 2009 21:39

help plx se ena aplo programma C !!

Δημοσίευση από bullzi » 27 Νοέμ 2009 19:50

8a xreiastw ti voi8ia sas entos oligou pali giati paw stin epomenh askhsh :P

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

help plx se ena aplo programma C !!

Δημοσίευση από virxen75 » 27 Νοέμ 2009 20:32

η άσκηση εξακολουθεί να έχει λάθος

αν βάλεις σωστά το pin συνεχίζει να στο ζητά
ενώ έπρεπε να σταματήσει.

το break σταματάει τον βρόγχο επανάληψης που ανήκει

δες στον κώδικα που σου έστειλα πως το χρησιμοποιώ.

ο κώδικας σου
if(pin1==pin)
printf("Welcome \n Nokia\n Connecting People!");
να γίνει έτσι:

Κώδικας: Επιλογή όλων

if&#40;pin1==pin&#41;&#123;
printf&#40;"Welcome \n Nokia\n Connecting People!"&#41;; 
break;
&#125;
ή αν σε ενοχλεί το break δώσε τιμή στο i τέτοια ώστε να βγει από την επανάληψη

Κώδικας: Επιλογή όλων

if&#40;pin1==pin&#41;&#123;
printf&#40;"Welcome \n Nokia\n Connecting People!"&#41;; 
i=3;
&#125;

bullzi
Δημοσιεύσεις: 6
Εγγραφή: 26 Νοέμ 2009 21:39

help plx se ena aplo programma C !!

Δημοσίευση από bullzi » 27 Νοέμ 2009 22:21

ekana tis allages pou mou eipes virxen kai s euxaristw polu. exw ena provlhma se ena allo programma gia tin akriveia de xerw ti akrivws na kanw de mou rxete eimai kai polles ores sto pc ki exw kapsei kati flatzes opote opoios mporei kai 8elei as voi8isei. to 8ema tis askhsh einai to eksis: Να γραφεί πρόγραμμα το οποίο να κάνει τα εξής:
ΑΣΚΗΣΗ 3
&#61656; Να διαβάζει συνέχεια χαρακτήρες από το πληκτρολόγιο.
&#61656; Να σταματάει μόλις πληκτρολογηθούν συνολικά δυο αστεράκια (*).
&#61656; Να εμφανίζει πόσοι χαρακτήρες μεσολάβησαν μεταξύ του πρώτου και του δεύτερου αστεριού.
Για παράδειγμα, αν δοθούν οι χαρακτήρες: qwer*sdfger* θα σταματήσει (επειδή πληκτρολογήθηκαν δυο αστεράκια) και θα εμφανίσει τον αριθμό 6, γιατί μεταξύ τους μεσολαβούν 6 χαρακτήρες.

egw exw kanei auto mexri stigmhs... den einai tpt to kserw alla de xerw pws alliws na to ksekinisw de mou rxete tpt..
#include <stdio.h>

int main(){
int i=0;
char xaraktiras;
int count = 0;
do{
printf("dwse xaraktires: ");
scanf("%s",&xaraktiras);
if(xaraktiras=='*')
count= count + 1;
}while (count=1);
if(count=2)
na eksigisw ligo. auto pou prospa8w na kanw einai ektos apo to oti xreiazomai mia epanalhpsh pou na dexete charaktires skeftika to do ... while epeidi den xerw poses epanalhpseis akrivws einai autes kai evala to if gia na ksekinisw kapws tous periorismous apo kei kai pera epese o "genikos". opoios mporei 8a ton parakalousa na voi8isei. sas euxaristw

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

help plx se ena aplo programma C !!

Δημοσίευση από virxen75 » 28 Νοέμ 2009 01:11

δεν ξέρω τι έχετε κάνει

εγώ θα το έκανα έτσι

Κώδικας: Επιλογή όλων

#include <stdio.h>
#include <conio.h>

int main&#40;&#41;&#123;
    int stars=0;
    int distance=0;
    do&#123;
        char ch=getche&#40;&#41;;
        if &#40;ch=='*'&#41; stars++;
        if &#40;stars==1 && ch!='*'&#41; distance++;
    &#125;while&#40;stars<2&#41;;
    printf&#40;"\ndistance=%d",distance&#41;;
    getchar&#40;&#41;;
   return 0;
&#125;

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

help plx se ena aplo programma C !!

Δημοσίευση από dva_dev » 28 Νοέμ 2009 13:01

Δοκιμάστε και κάτι τέτοιο:

Κώδικας: Επιλογή όλων

#include <stdio.h>
#include <conio.h>

int main&#40;&#41;&#123;
	int distance=0;

	while &#40; getche&#40;&#41; != '*' &#41;;
	while &#40; getche&#40;&#41; != '*' &#41; distance++;

	printf&#40;"\ndistance=%d",distance&#41;;
	return 0;
&#125;

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες