[c++] een zin in hoofdletters op het scherm

Pagina: 1
Acties:
  • 479 views sinds 30-01-2008
  • Reageer

  • Japie.G
  • Registratie: Augustus 2001
  • Laatst online: 23:04

Japie.G

Colour Classic

Topicstarter
Ik wil een programma (win32console) die een ingevoerde zin in hoofdletters weer uitvoerd. Ik heb dit

#include <iostream.h>
char Hoofdletter(char zin_in);

void main()
{
char zin;
cout<< "Voer een zin kleine letters in" <<endl <<endl;
{
cin >> zin;
zin = Hoofdletter( zin );
cout<< zin;
}

}


char Hoofdletter( char zin_in)
{
if (zin_in >= 'a' && zin_in <= 'z')
return zin_in - 32;
else
return zin_in;
}


maar nu wordt alleen de eerste letter van de zin weer uitgevoerd (wel hoofdletter). Wie weet hoe dit kan?

En wie kan de bovenstaande code goed aan mij uitleggen. (dit is een code deels uit een boek, vandaar)

Renault Scenic E-Tech EV - PV-Output


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
for(x=0;x<strlen(zin);x++)
{
if zin[x] >'a' and < 'z' blaat[x]=zin[x]-32
}
return blaat

  • Sjonny
  • Registratie: Maart 2001
  • Laatst online: 19:00

Sjonny

Fratser

laat me raden? jij zit bij _soh op school?

The problem is in the part of your brain that handles intelligence.


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 17-12 01:59

curry684

left part of the evil twins

Op woensdag 05 september 2001 11:47 schreef ShereKahn het volgende:
(dit is een code deels uit een boek, vandaar)
Ik zou 'm een keer helemaal uit het boek kopieren zodat je feitelijk een hele zin inleest ipv alleen het eerste karakter.

Professionele website nodig?


  • BrammeS
  • Registratie: April 2000
  • Laatst online: 02-12 08:31
Hij pakt een letter kijkt of het een kleine letter is tussen de a en z. en trekt er dan 32 vanaf. daarmee doelt ie op de ascii waarde van de letter. als je van de ascii waarde van 'a' 32 aftrekt kom je exact uit bij 'A'. Waarom ie het maar 1 keer doet weet ik niet. In mn eigen progies deed ik het ook nooit op deze manier.

Advanced sheep-counting strategies


  • Skeiron462
  • Registratie: Juli 2001
  • Laatst online: 31-10-2022
Hmm weer zo'n school opdracht.... staat in het schoolboek uitgelegd.. als je het zelf wilt snappen lees dan eerst ff het hoofdstuk waar ASCI wordt uigelegd..

Ascension - Server : Bladefist - lvl 60 Mage - lvl 55 paladin - lvl 53 rogue


  • BezurK
  • Registratie: Juni 2001
  • Laatst online: 09-12 08:30
Was er niet een hele makkelijke functie in een van de standaard headers voor zoiets?

for(int i=0; i < strlen(zin); i++){
zin(i)=<functie_voor_hoofdletter>(zin, i);
}

Tenminste, er staat me iets bij van zoiets,maar het kan ook wezen dat dat alleen bij pascal zo is (school)...

Rookworst zonder R is ook worst.


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 17-12 01:59

curry684

left part of the evil twins

Op woensdag 05 september 2001 11:53 schreef BrammeS het volgende:
Waarom ie het maar 1 keer doet weet ik niet. In mn eigen progies deed ik het ook nooit op deze manier.
Hint: char zin;

Ik denk persoonlijk dat ie een while vergeten is over te typen.

Professionele website nodig?


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op woensdag 05 september 2001 11:57 schreef curry684 het volgende:

[..]

Hint: char zin;

Ik denk persoonlijk dat ie een while vergeten is over te typen.
Dat leertie pas in het volgende hoofdstuk :+

  • _soh
  • Registratie: November 2000
  • Laatst online: 09-12 22:25

_soh

 

Nee, in het zelfde lokaal =)))))))))HAHAH

Lightning_crew


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 17-12 01:59

curry684

left part of the evil twins

Ik zal eens aardig zijn:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>

int main()
{
char     Text[256];
char*    Pointer;

printf("Voer een zin kleine letters in: ");
scanf("%255s", &Text);

for(Pointer = Text; *Pointer; Pointer++)
  if(*Pointer >= 'a' && *Pointer <= 'z')
    *Pointer -= 32;

printf("\nResultaat: %s\n\n", Text);
}

Gegarandeerd totaal niet getest. :)

Professionele website nodig?


Verwijderd

Dit slaat echt nergens op.

Je leest een karakter van cin, hebt een functie HoofdLetter die een karakter omzet in een hoofdletter, en vraagt nu waarom er maar een letter verwerkt wordt?

Nog een hint: alle oplossingen die tot nu toe gegeven zijn, zijn c-style oplossingen. Als ik je leraar c++ was kreeg je een 0 voor het inleveren van dergelijke oplossingen, ook al werkten ze.

Verwijderd

Op woensdag 05 september 2001 12:05 schreef mietje het volgende:
Dit slaat echt nergens op.

Je leest een karakter van cin, hebt een functie HoofdLetter die een karakter omzet in een hoofdletter, en vraagt nu waarom er maar een letter verwerkt wordt?

Nog een hint: alle oplossingen die tot nu toe gegeven zijn, zijn c-style oplossingen. Als ik je leraar c++ was kreeg je een 0 voor het inleveren van dergelijke oplossingen, ook al werkten ze.
Wat een onzin - C is de basis van C++

En scanf("%255s", &Text); gaat niet werken, dat moet scanf("%255s", Text); zijn. De compiler maakt er zelf automatisch een pointer-achtig iets van, je geeft nu dus een pointer naar een pointer :)

Verwijderd

Zeggen deze tekens je misschien wat?
*
[]

En kijk ook eens naar toupper()

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 17-12 01:59

curry684

left part of the evil twins

Op woensdag 05 september 2001 12:05 schreef mietje het volgende:
Nog een hint: alle oplossingen die tot nu toe gegeven zijn, zijn c-style oplossingen. Als ik je leraar c++ was kreeg je een 0 voor het inleveren van dergelijke oplossingen, ook al werkten ze.
Shhtttt.... :)

Ik gaf expres ook een oplossing met zoveel mogelijk dereference operators en ampersands als ik kon vinden, omdat ik toch wel wist dat ie daar weinig mee aan zou kunnen. Niks tegen op simpele vragen, wel op stomme vragen die volgen uit iets verkeerd overtypen uit een leerboek (waar heb je dan nog een leerboek voor?!? |:( )

Professionele website nodig?


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 17-12 01:59

curry684

left part of the evil twins

Op woensdag 05 september 2001 12:08 schreef beelzebubu het volgende:
En scanf("%255s", &Text); gaat niet werken, dat moet scanf("%255s", Text); zijn. De compiler maakt er zelf automatisch een pointer-achtig iets van, je geeft nu dus een pointer naar een pointer :)
Oeps even standaard ampersandje daar neergepleurd omdat het bij ints wel moet... *slap self* 8-)

Zoals ik al zei: 100% gegarandeerd niet getest! :D

Overigens niets mis met pointers naar pointers, hoorde laatst dat iemand er ergens feitelijk in was geslaagd om een variabele als void***** te declareren in productiecode zonder ontslagen te worden :)

Professionele website nodig?


  • Japie.G
  • Registratie: Augustus 2001
  • Laatst online: 23:04

Japie.G

Colour Classic

Topicstarter
Shhtttt.... :)

Ik gaf expres ook een oplossing met zoveel mogelijk dereference operators en ampersands als ik kon vinden, omdat ik toch wel wist dat ie daar weinig mee aan zou kunnen. Niks tegen op simpele vragen, wel op stomme vragen die volgen uit iets verkeerd overtypen uit een leerboek (waar heb je dan nog een leerboek voor?!? |:( )
Ben ik weer, allereerst bedankt voor jullie hulp. Ik wil wel even zeggen dat ik het helemaal niet leuk vind om dingen uit een boek over te typen en dat is ook niet de bedoeling. De code die in dat boek staat doet ook iets heel anders. Het is alleen deels hetzelfde, namelijk een letter -32 doen om zo een hoofdletter te krijgen. De rest van de code heb ik zelf gemaakt. Ik wil er ook nog even bij zeggen dat ik volledig c++ leek ben. Ik weet er gewoon nog helemala niets van. Vandaar dat ik jullie hulp inroep voor iets dat mischien hartstikke simpel is, maar alles moet je leren, toch?

Renault Scenic E-Tech EV - PV-Output


Verwijderd

Bij ons hulp vragen is geen punt,er is een klein groepje hier wat niets anders doet dan constant vragen van andere mensen oplossen , d'r is echter wel iets mis met ons jouw huiswerk laten doen....

Verwijderd

Op woensdag 05 september 2001 13:50 schreef curry684 het volgende:
Overigens niets mis met pointers naar pointers, hoorde laatst dat iemand er ergens feitelijk in was geslaagd om een variabele als void***** te declareren in productiecode zonder ontslagen te worden :)
Niet altijd........

In C is pointer naar pointer heel gewoon, voor geheugenmanagement enzo, dat kun je dan intern in een lib doen.


Voor de rest, void*******... :?

Dan zou ik de persoon in kwestie per direct uit het project gooien :7

Verwijderd

Waarom alles eerst inlezen, dan veranderen, en dan alles er weer uitgooien ?
code:
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <ctype>

int main ()
{
    char c;
    while ((c = std::cin.get()) != '\n' && c != std::cin.eof())
        std::cout << char(toupper(c));
}

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 17-12 01:59

curry684

left part of the evil twins

Op woensdag 05 september 2001 14:03 schreef ShereKahn het volgende:
Vandaar dat ik jullie hulp inroep voor iets dat mischien hartstikke simpel is, maar alles moet je leren, toch?
Zoals _soh al zei zit je bij hem in de collegezaal, en het lijkt me toch echt sterk dat jullie gezamenlijk IQ niet hoog genoeg is om een paar keer iets uit te proberen totdat het werkt. Of om je collegedictaat te lezen bijvoorbeeld: een docent geeft altijd opdrachten die een fractie moeilijker zijn dan wat je kunt zodat je gestimuleerd wordt zelf te denken en iets uit te vinden.

Welkom in het hoger onderwijs, kunnen we nu kappen met die stapel topics aan forumvervuiling die jullie vandaag geproduceerd hebben?

No offense, maar ik heb zelf (zoals de meesten hier denk ik) leren programmeren door alles uit te proberen en uit te vinden. Nu ben ik enkele duizenden BSOD's en Guru Meditations en meer van dat schoons verder en voor zover mensen me vertellen een goede programmeur, die niet alleen veel weet over het onderwerp, maar er ook feitelijk iets mee kan. Als je altijd alles aan anderen vraagt krijg je oogkleppen voor de echte mogelijkheden.

Professionele website nodig?


  • Japie.G
  • Registratie: Augustus 2001
  • Laatst online: 23:04

Japie.G

Colour Classic

Topicstarter
okee, wie is _soh?

Naam graag

Renault Scenic E-Tech EV - PV-Output


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 17-12 01:59

curry684

left part of the evil twins

Op woensdag 05 september 2001 14:26 schreef ShereKahn het volgende:
okee, wie is _soh?

Naam graag
Ja HALLOOOOOOOOOOOOO die jongen heeft z'n voornaam en z'n mailadres in z'n profile staan! Hier hoeven wij toch niet in mee te delen?!?

Rot op met die forumvervuiling!!!

Professionele website nodig?


  • Japie.G
  • Registratie: Augustus 2001
  • Laatst online: 23:04

Japie.G

Colour Classic

Topicstarter
djeezus hee, wat is dit nou voor forum, als je je eraan irriteerd antwoord dan NIET!!!!!!! :(

Godsamme zeg, forum is er toch voor om vragen te stellen of je antwoord krijgt is een tweede, laat dat dan aan mensen voer die wel willen helpen.

De mazzel

(toch bedankt voor de mensen die wel even de moeite wilden nemen)

Renault Scenic E-Tech EV - PV-Output


Verwijderd

Op woensdag 05 september 2001 14:40 schreef ShereKahn het volgende:
Godsamme zeg, forum is er toch voor om vragen te stellen of je antwoord krijgt is een tweede, laat dat dan aan mensen voer die wel willen helpen.
Volgens mij is dit forum voor zinnige vragen stellen. Lees het topic over huiswerk vragen even: [topic=152278/1/25]

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 17-12 01:59

curry684

left part of the evil twins

Op woensdag 05 september 2001 14:40 schreef ShereKahn het volgende:
djeezus hee, wat is dit nou voor forum, als je je eraan irriteerd antwoord dan NIET!!!!!!! :(
Dit is een forum waar het verboden is je huiswerk over te typen of vragen te stellen waar je duidelijk geen enkele moeite zelf voor hebt gedaan.
Godsamme zeg, forum is er toch voor om vragen te stellen of je antwoord krijgt is een tweede, laat dat dan aan mensen voer die wel willen helpen.
M'n vloek hierboven slaat vooral op je vraag wie _soh is, wellicht citeerde ik die vraag daarom erbij. Niet alleen kon je het zo in z'n profile opzoeken (of even rondvragen in die studiezaal), maar het is ook allesbehalve een vraag over Programming & Webscripting! En daar ik ieder topic volg met 'C++' in het subject erger ik me er nogal aan als er hier binnen 2 uur 4 topics verschijnen waarvan de starters:
a) Hun huiswerk blind overtypen.
b) Hun dictaat/boek niet hebben gelezen.
c) Hun docent niet hebben geraadpleegd.
d) Niet op het web hebben gezocht.
e) Niet de forumsearch hebben gebruikt.
f) Het forum misbruiken om met iemand te spreken die naast hun zit.

Professionele website nodig?


  • Japie.G
  • Registratie: Augustus 2001
  • Laatst online: 23:04

Japie.G

Colour Classic

Topicstarter
OKee ik ben het met je eens dat je geen huiswerk mag vragen aan anderen, maar als je er niet uitkomt is het toch errug handig om het even aan iemand te vragen. En ik weet er echt niets van die die _soh bij mij in de computerruimte zat. Kan ook niet eigenlijk, omdat ik daar met mijn groepie zat (waarvan ik de namen weet) en nog 2 andere lui die alleen maar op de site van norrod aan het kijken waren. Dus als 1 van die 2 lui die chriz (of hoe het dan ook maar in zijn profiel staat) is, dan hoeft dat niet te betekenen dat ik die lui ken. Ik ken echt niet iedereen op die school of op mijn opleiding. (dit is pas de 3e dag namelijk). En als die _soh bij mij in de klas zit dan mag ie morgen wel ff naar mij toe komen om te zeggen wie ie is. Ik misbruik het forum dus echt niet om vragen te stellen aan iemand die naast me zit. Ik vind dit echt een prachtig forum waar ontzettend veel kennis zit. DIe kennis mag je toch ook gebruiken???? of niet dan soms. Maar goed laten we er nou maar over ophouden, en niet het forum gaan lopen verzieken. Ik zal geen beginnersvragen meer stellen, en jullie antwoorden gewoon niet als je de vraag irriteerd, okee?

deal.

:) LOL zo'n discussie :9

En ik had ook even moeten searchen inderdaad, maar goed.

VERGEEEEEEEEF ME, IK ZAL HET NOOOOOIT MEER DOEN!!!!!!!!!
Zijn jullie nou boos? ;(

Renault Scenic E-Tech EV - PV-Output


Verwijderd

Op woensdag 05 september 2001 15:10 schreef ShereKahn het volgende:
Ik zal geen beginnersvragen meer stellen, en jullie antwoorden gewoon niet als je de vraag irriteerd, okee?
Dat vind ik goed genoeg :)

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 17-12 01:59

curry684

left part of the evil twins

Op woensdag 05 september 2001 15:10 schreef ShereKahn het volgende:
Ik zal geen beginnersvragen meer stellen, en jullie antwoorden gewoon niet als je de vraag irriteerd, okee?
Een beginnersvraag mag altijd, daar zijn we juist wel voor. Zolang het maar eerlijke vragen zijn over een tricky punt (ik zie je nog wel langskomen bij het hoofdstuk 'pointers en references' ;) ) en je duidelijk zelf moeite hebt gedaan om het antwoord al te vinden/begrijpen. Ik beantwoord iedere vraag die aan die 2 vereisten voldoet (indien ik zelf het antwoord weet natuurlijk 8-) )

Het zij je (jullie?) vergeven.

Professionele website nodig?

Pagina: 1