Rakstīt ziņojumu 
 
Pavediena vērtējums:
  • 0 balsis - 0 vidējais
  • 1
  • 2
  • 3
  • 4
  • 5
c++
Autors Ziņa
benciks Atslēdzies
Junior Member
**

Ziņojumi: 21
Pievienojās: Mar 2009
Reputācija: 0
Ziņojums: #1
Cool c++
Man mājasdarbā ir vajadzīgs pārvērst ievadīto "string" par "integer" un ja tiek ievadīti nepareizi ievaddati jādod kļūdas paziņojums.

zinu, ka ir tāda lieta kā "atoi" proti
"mainīgais integers" = atoi("ievadītais string");
bet nevaru nekādi izdomāt, kā lai ar viņa palīdzību tieku pie "kļūdas paziņojuma". Confused: Crying or Very sad
Varbūt, kādam no jums ir kāda ideja?

Vai varbūt ir kādi ir vel kādi citi varianti, funkcijas, kuras darbojas foršāki? Cool
13.10.2009 22:20
Atrast visus šī lietotāja rakstītos ziņojumus Citēt šo ziņu atbildē
telezypher Atslēdzies
kauts kas labaks c(:[
****

Ziņojumi: 615
Pievienojās: Aug 2006
Reputācija: 6
Ziņojums: #2
RE: c++
http://www.cplusplus.com/reference/clibr...dlib/atoi/
ja ir 0 tad ir kļūda vai arī strings = "0", uztaisi if, kas pārbauda..

[Bilde launaisgm9.jpg]
13.10.2009 22:37
Atrast visus šī lietotāja rakstītos ziņojumus Citēt šo ziņu atbildē
101111 Atslēdzies
Junior Member
**

Ziņojumi: 34
Pievienojās: Aug 2009
Reputācija: -1
Ziņojums: #3
RE: c++
jaa, ar atoi tas būs visvienkāršāk. bet, ja tas ir pirmā kursa uzdevums, tad droši vien ir domāts pašam uztaisīt to funkciju, kas pārveido string uz integer.
13.10.2009 22:46
Atrast visus šī lietotāja rakstītos ziņojumus Citēt šo ziņu atbildē
benciks Atslēdzies
Junior Member
**

Ziņojumi: 21
Pievienojās: Mar 2009
Reputācija: 0
Ziņojums: #4
RE: c++
Nu to par nulli es zinu, bet es vnk iedomājos, ka pasniedzējas varētu piesieties par to, ka ja ievada simbolu "0" vai "000000000" tad man
rādītu - "Errors - Nepareizi ievaddati" Very Happy

!!!man iešāvās pierē (doh), ka var ar ciklu samazināt tādas virknes kā "00000000000" vai " 000" par "0" un tad vnk
varētu jau kaut ko normālu sazīmēt

thx, mācos pirmajā kursā
(Šo ziņojumu pēdējo reizi modificēja: 13.10.2009 23:48 benciks.)
13.10.2009 23:46
Atrast visus šī lietotāja rakstītos ziņojumus Citēt šo ziņu atbildē
bubu Atslēdzies
Senior Member
****

Ziņojumi: 469
Pievienojās: Aug 2006
Reputācija: 8
Ziņojums: #5
RE: c++
atoi ir C. Ja programmējam C++, tad lietojam std::stringstream - http://fizmati.lv/forums/thread-1197-pos...l#pid11793
14.10.2009 15:47
Apskatīt lietotāja interneta adresi Atrast visus šī lietotāja rakstītos ziņojumus Citēt šo ziņu atbildē
Mezha_lauminja Atslēdzies
Senior Member
****

Ziņojumi: 518
Pievienojās: Sep 2005
Reputācija: 9
Ziņojums: #6
RE: c++
Ja tu esi primajaa kursaa (un jo iipashi ja tas ir kurss Programmeeshana I/II), tad pasniedzeejs visticamaak ir domaajis, ka tu ar for ciklu iesi cauri visiem virknes simboliem un pats apreekjinaasi savu skaitlji - katru reizi kad dabuu jaunu simbolu, tad peec ASCII tabulas uzzini kas tas par skaitli, un iepriekshseejos soljos areekjinaatajo skaitli pareizini ar desmit, peec tam pieskaiti jauno ciparu klaat. Apmeeram taa, kodu priekshaa nerakstiishu.

Iesaku pajautaat pasniedzeejam, ja liidz nodoshanai veel ir pietiekami daudz laika.


bubu: man likaas, ka C++ standarti pieprasa, lai jebkura standartiem atbilstosha C programma buutu arii C++ programma, vai tad ne?

Kas tu par vilku? – saka man.
Es tiešām esmu mājas suns[..]
(Šo ziņojumu pēdējo reizi modificēja: 14.10.2009 18:55 Mezha_lauminja.)
14.10.2009 18:54
Apskatīt lietotāja interneta adresi Atrast visus šī lietotāja rakstītos ziņojumus Citēt šo ziņu atbildē
benciks Atslēdzies
Junior Member
**

Ziņojumi: 21
Pievienojās: Mar 2009
Reputācija: 0
Ziņojums: #7
RE: c++
(14.10.2009 15:47 )bubu rakstīja:  atoi ir C. Ja programmējam C++, tad lietojam std::stringstream - http://fizmati.lv/forums/thread-1197-pos...l#pid11793

Tas "stringstream" ir baigi labā fiča, it īpaši tādēļ, ka palaižot c++ nokompilētu tekstu ar "otoi" proga kārās nost Very Happy

Bet es īsti nesaprotu, kā precīzi "stringstream" īsti strādā.
vnk ar varenās googles tantes palīdzību netieku krastā.

Cik saprotu "stringstream" izveido speciālu pointer tipa būferi speciāli priekš simbolu virknes, kura drīkst sastāvēt tikai no ciparu simboliem, vārdu sakot vis pa vienam simbolam iet iekšā būferī un proces apstājas, ja kārtējais simbols nav skaitlis.
Vai es pareizi saprotu?
p.s.
Vnk kā šo darīt lekcijās mums vel nav stāstīts, par ASCII tabulām arī vel nekas nav teikts, bet darbs jāizdara līdz 20 oktobrim.
Mācos pie Zutera, varbūt viņš grib, lai mēs paši patstāvīgi mēģinam ko sameklēt - nezinu, neesmu viņam jautājis.
(Šo ziņojumu pēdējo reizi modificēja: 14.10.2009 21:15 benciks.)
14.10.2009 20:59
Atrast visus šī lietotāja rakstītos ziņojumus Citēt šo ziņu atbildē
benciks Atslēdzies
Junior Member
**

Ziņojumi: 21
Pievienojās: Mar 2009
Reputācija: 0
Ziņojums: #8
RE: c++
ups, laikam bik pārpratu udevuma noteikumus

"Precizējums. Uzdevumos, kuros ir teikts, ka doti veseli (vai naturāli) skaitļi, nav jāpārbauda, vai ievadītie simboli nav burti (pārbaudot tiks ievadīti tikai skaitļi). Reāli tas nozīmē, ka ieejas dati jāpārbauda uz loģiski nepieļaujamām vērtībām (dalīšana ar 0, kvadrātsakne no negatīva skaitļa, utt.), bet nevis uz to, vai tie atbilst mainīgā tipam, kurā tie jāieraksta."

Bet tik un tā paldies par inf Smile
14.10.2009 22:33
Atrast visus šī lietotāja rakstītos ziņojumus Citēt šo ziņu atbildē
101111 Atslēdzies
Junior Member
**

Ziņojumi: 34
Pievienojās: Aug 2009
Reputācija: -1
Ziņojums: #9
RE: c++
nu, bet ja Tev ir uzdevums "pārvērst ievadīto string par integer un, ja tiek ievadīti nepareizi ievaddati jādod kļūdas paziņojums", tad Tev šis noteikums neko daudz nepalīdz.

tas kas tev jāizdara ir jāpārbauda ievadītās simbolu virknes simbolus un, ja no tiem ir iespējams izveidot veselu skaitli, tad tas ir jāizdara, ja nē - tad jādod kļūdas paziņojums.
14.10.2009 23:26
Atrast visus šī lietotāja rakstītos ziņojumus Citēt šo ziņu atbildē
ulzha Atslēdzies
Koto Member
****

Ziņojumi: 597
Pievienojās: May 2006
Reputācija: 18
Ziņojums: #10
RE: c++
(14.10.2009 20:59 )benciks rakstīja:  Tas "stringstream" ir baigi labā fiča, it īpaši tādēļ, ka palaižot c++ nokompilētu tekstu ar "otoi" proga kārās nost Very Happy
Tu kaut ko mudies Smile Un vispirms jau noskaidro gan, kas tieši tieši tieši tev jādara!

(14.10.2009 20:59 )benciks rakstīja:  Cik saprotu "stringstream" izveido speciālu pointer tipa būferi speciāli priekš simbolu virknes, kura drīkst sastāvēt tikai no ciparu simboliem, vārdu sakot vis pa vienam simbolam iet iekšā būferī un proces apstājas, ja kārtējais simbols nav skaitlis.
Vai es pareizi saprotu?
Nesakarīga runa. Kādi vēl pointeri? stringstream ir klase, kas piedāvā iostream (ievadizvada plūsmu) saskarni virknei. Vienkārši izsakoties - ļauj lasīt no virknes ar ">>" gluži kā no faila. Tā tu vari eleganti pamēģināt nolasīt skaitļus un visādi citādi formatētus datus no virknes un izmantot eof() un bad() utt., lai noskaidrotu, kas nebija.

(14.10.2009 18:54 )Mezha_lauminja rakstīja:  bubu: man likaas, ka C++ standarti pieprasa, lai jebkura standartiem atbilstosha C programma buutu arii C++ programma, vai tad ne?
Ne gluži jebkura, bet gandrīz. atoi, protams, jāstrādā; Bubu vnk pūrists Smile
15.10.2009 10:09
Atrast visus šī lietotāja rakstītos ziņojumus Citēt šo ziņu atbildē
bubu Atslēdzies
Senior Member
****

Ziņojumi: 469
Pievienojās: Aug 2006
Reputācija: 8
Ziņojums: #11
RE: c++
(14.10.2009 18:54 )Mezha_lauminja rakstīja:  bubu: man likaas, ka C++ standarti pieprasa, lai jebkura standartiem atbilstosha C programma buutu arii C++ programma, vai tad ne?
Nē, tā nav. Es varu iedot kodu, kurš zem C darīs pilnīgi kautko citu, nekā zem C++. Lūdzu, viens no variantiem:
Kods:
#include <stdio.h>
int main()
{
    if (sizeof('x') == 1)
    {
        printf("Esmu kompilēts ar C++\n");
    }
    else
    {
        printf("Esmu kompilēts ar C\n");
    }
}
Attiecīgi - ieliec printf vietā ko sarežģītāku un dabūsi pilnīgi savādāk darbojošos programmu.
(Šo ziņojumu pēdējo reizi modificēja: 15.10.2009 11:28 bubu.)
15.10.2009 11:27
Apskatīt lietotāja interneta adresi Atrast visus šī lietotāja rakstītos ziņojumus Citēt šo ziņu atbildē
benciks Atslēdzies
Junior Member
**

Ziņojumi: 21
Pievienojās: Mar 2009
Reputācija: 0
Ziņojums: #12
RE: c++
Vis ok, vnk sākumā biju dimājis, ka uzdevums ir bik grūtāks nekā patiesībā tāds ir.

"A12 - Izveidot programmu valodā C++. Ievadot loģiski nepareizus datus,
programmai jāizdod atbilstošs paziņojums. Jābūt iespējai programmu
izpildīt atkārtoti."
"Precizējums. Uzdevumos, kuros ir teikts, ka doti veseli (vai naturāli) skaitļi, nav jāpārbauda, vai ievadītie simboli nav burti (pārbaudot tiks ievadīti tikai skaitļi). Reāli tas nozīmē, ka ieejas dati jāpārbauda uz loģiski nepieļaujamām vērtībām (dalīšana ar 0, kvadrātsakne no negatīva skaitļa, utt.), bet nevis uz to, vai tie atbilst mainīgā tipam, kurā tie jāieraksta."

vnk sākumā biju domājis, ka "loģiski nepareizi ievaddati" ietver arī jēdzienu "muļķu droša programma"
(Šo ziņojumu pēdējo reizi modificēja: 16.10.2009 09:48 benciks.)
16.10.2009 09:46
Atrast visus šī lietotāja rakstītos ziņojumus Citēt šo ziņu atbildē
Rakstīt ziņojumu 


Lēciens uz forumu:

Kontaktifizmati.lvAtgriezties uz augšuAtgriezties pie saturaArhīva skatsRSS sindikācija