Permalänk
Medlem

programmeringshjälp sökes c++

Tja, jag skulle behöva lite hjälp av någon med "mad skillz" i programmering. Då menar jag vem som helst som är bättre än mig på det typ, och jag är totalt värdelös.

Jag har 2 uppgifter kvar att lämna in i Programmering A innan skolan slutar den 5:e juni. Men eftersom jag inte är någon exemplarisk gosse så har jag en del annat att ta itu med också... en hel del annat. Eftersom jag är så oerhört dålig på att programmera och det var så länge sen jag gjorde det eftersom de är rester jag har kvar, så undrar jag om någon skulle kunna tänka sig att hjälpa mig med det.

Uppgifterna jag har är följande:
-----------------------------------------------------------------------------------------------------
1. Skriv ett program som begär och visar information enligt nedan. Observera att programmet bör kunna acceptera dubbla förnamn, tex Karl Erik. Lägg också märke te att programmet automatisk justerar betyg nedåt, med andra ord en bokstav längre fram i alfabetet. Programmet ska fortsätta till dess att användaren vill avsluta...

Vad heter du i förnamn? Lisa
Vad heter du i efternamn? Eriksson
Vilket betyg borde du få? B
Hur gammal är du? 22

Namn: Eriksson, Lisa
Betyg: C
Ålder: 22
-----------------------------------------------------------------------------------------------------
2. Skriv ett program som använder nästlade slingor och som ber användaren att ange ett värde för det antal rader som ska visas. Programmet visar sedan samma antal rader med asterisker, med en asterisk på första raden, två på andra osv. På varje rad ska asteriskerna föregås av de antal punkter som krävs för att varje respektive rad ska visa lika många tecken som antalet rader. En körning skulle se ut så här:

....*
...**
..***
.****
*****
-----------------------------------------------------------------------------------------------------
Betygs kriterierna för G är följande;
Kommenterad och indenterad kod.
Delvis fungerande program, delarna går att köra var för sig.

Jag har själv försökt en stund med uppgift 1 men jag lyckas inte få de till att funka och jag vet inte hur man fixar det där med betyget. Vad jag har lyckats åstadkomma är:

#include <iostream>
#include <conio.h>
#include <iomanip>
#include "svtecken.h"
using namespace std;

int main()
{
teckenbyt();

int fnamn, enamn, age, betyg;

cout << "\nVad heter du i förnamn? "; cin >> fnamn;
cout << "\nVad heter du i efternamn? "; cin >> enamn;
cout << "\nVilket betyg borde du få? "; cin >> betyg;
cout << "\nHur gammal är du? "; cin >> age;

cout << "\n\n\nNamn: " << enamn << ", " << fnamn;
cout << "\nBetyg: " << betyg;
cout << "\nÅlder: " << age;

cout << "\n\n\n";
cout << "\nTryck tangent "; getch();
return 0;
}

Inte mycket att hurra för precis. Den andra uppgiften har jag inte den blekaste om hur man ska göra och för dom som inte vet vad en asterisk är så är det en stjärna *. Nu lämnar jag mitt öde i era händer och hoppas på det bästa medan jag gör klart mitt projektarbete. Tack i förskott till er som hjälper mig.

Chale~

Permalänk
Hedersmedlem

Läs kapitlet om datatyper igen; förmodligen vill du inte att fnamn och enamn skall vara heltal. För att läsa in en hel rad (till exempel vid dubbla förnamn) istället för endast det första ordet kan man till exmepel använda
getline(cin, fnamn);

Permalänk
Medlem

Du ska väl inte ha bättre betyg än vad du är elev?

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av iXam
Du ska väl inte ha bättre betyg än vad du är elev?

Citat:

"Lägg också märke te att programmet automatisk justerar betyg nedåt, med andra ord en bokstav längre fram i alfabetet."

hans lärare kanse kör den stilen me för att konpensera

Permalänk
Medlem

Re: programmeringshjälp sökes c++

Borttaget.

Permalänk
Hedersmedlem

Kom ihåg att inte göra jobbet utan ge bara råd då det är ett skolarbete.

Visa signatur

Rocking hard !!!

Kontakt: malo@sweclockers.com eller skicka ett PM

Permalänk
Medlem

@ Elgot

Tack för tipsen, jag hade helt glömt bort att int bara var för heltal, är ju rester sen ett tag tillbaka som sagt.

@ Resten

Jag menade inte att jag skulle få hela jobbet gjort även om det kanske kan se ut som det. Jag vill ha tips så att jag kan klara det här eftersom jag inte har kvar min lärobok sen vi lämnat in dom.

@Topic

Någon som kan berätta för mig vad en nästlad slinga är och hur den fungerar? har inget minne av vad det var för något. Andra tips är även välkommna.

Tack i förväg,

Chale~

Permalänk
Hedersmedlem
Citat:

Ursprungligen inskrivet av Chale
Någon som kan berätta för mig vad en nästlad slinga är och hur den fungerar? har inget minne av vad det var för något. Andra tips är även välkommna.

Det som åsyftas är förmodligen till exempel en for-loop placerad i en annan, till exemel:

for(int i = 0; i < 5;) for(int j = 0; j < i; ++j) cout << i << ", " << j << endl;

Permalänk
Hedersmedlem

Nästlad slinga = En loop som innehåller en annan loop (som i sig kan innehålla loopar...).

Gällande betyget. Tänk på att bokstäverna bara representeras av ett tal i ASCII-tabellen och du kan göra aritmetiska operationer på talet för att få en annan ASCII-symbol.

Visa signatur

Forumregler | Feedbackforumet | Något som behöver modereras? Tryck på Anmäl inlägget och ge en anledning, någon moderator kommer granska inlägget och göra (egen) bedömning
"Fate. Protects fools, little children and ships named Enterprise." - Riker - ST:TNG

Permalänk

Ofta ni läser c++ i programering A? Jag har fått VG i den kursen, vi körde me ruby ^^ och nog fan går ett sånt där program att göra i ruby

Permalänk
Hedersmedlem
Citat:

Ursprungligen inskrivet av Adelante666
Ofta ni läser c++ i programering A? Jag har fått VG i den kursen, vi körde me ruby ^^ och nog fan går ett sånt där program att göra i ruby

Och det är relevant därför att?...

Vilket programspråk man har i de där kurserna beror nog mest på vad läraren kan (om de ens kan vad de försöker lära ut).
Och ja varför skulle det inte gå att göra i ruby. Båda är turingkompletta och det här är väldigt enkla saker som programmiljön stödjer (text input och output).

Visa signatur

Forumregler | Feedbackforumet | Något som behöver modereras? Tryck på Anmäl inlägget och ge en anledning, någon moderator kommer granska inlägget och göra (egen) bedömning
"Fate. Protects fools, little children and ships named Enterprise." - Riker - ST:TNG

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Chale
@ Resten

Jag menade inte att jag skulle få hela jobbet gjort även om det kanske kan se ut som det. Jag vill ha tips så att jag kan klara det här eftersom jag inte har kvar min lärobok sen vi lämnat in dom.

Citat:

Ursprungligen inskrivet av Chale
Nu lämnar jag mitt öde i era händer och hoppas på det bästa medan jag gör klart mitt projektarbete. Tack i förskott till er som hjälper mig.

Det ser så ut för mig

Permalänk
Medlem

JAG HAR ALDRIG PROGRAMMERAT C++ innan.
Tog mig 10minuter att få ihop din första uppgift (jag har film på det) xD

Notera att detta inte kunna ges till din lärare.
Du måste själv lära dig Typecasting, jag har koden för typecasting hos mig men du får läsa om det själv.

Sedan kommer du få problem med å ä ö

Vad jag kommer ger dig är denna "ledtråd":

Citat:

Vi har nu ett program som "typ" kan hantera det vi behöver.
Vad vi nu behöver är något som kan ta B och göra om det till ett C.
Detta gör vi genom att ta följande pseudo kod:

char(int(grade) +1)

char() :: Gör om en siffra (ASCII) till en bokstav, tex 97 är ett "a"
int() :: gör om en bokstav till ett ASCII värde, tex "a" till 97

vi tar då altså int(grade) och tar +1, då blir det 97 + 1 som blir... 98..
sen tar vi char(98) och tadaaa, ett "b"

Vad vi behöver nu är något som heter.. typecasting..

#include <iostream> using namespace std; int main(int argc, char *argv[]) { char fname[20]; //Så att vi kan ha mer än 1 tecken i förnamnet. char lname[20]; //Sen tror jag inte vi har namn på mer än 20 tecken. char grade; int age; char cmd; while (1) { cout << "Vad heter du i förnamn? "; cin >> fname; cout << "Vad heter du i efternamn? "; cin >> lname; cout << "Vilket betyg borde du få? "; cin >> grade; cout << "Hur gammal är du? "; cin >> age; cout << "\n"; cout << "Namn: " << lname << ", " << fname << "\n"; cout << "Betyg: " << [[ LÄS OM TYPECASTIN :: http://www.trap17.com/index.php/typecasting-c_t37663.html ]] << "\n"; cout << "Ålder: " << age << "\n"; cout << "Do you wish to exit? (Y/N) "; cin >> cmd; if (cmd == 'Y') { break; } } return 0; }

Edit1: Gjorde så att variablerna inte är globala.
Edit2: Tog bort "return 0;" i if satsen, break är mer proffsigt

Permalänk
Medlem

http://www.easy-share.com/1905466646/Archive.7z

Ladda ner 7-zip för att packa upp filmen (nerpackad från 2GB till 19MB med 7-zip)
http://7-zip.org/
http://downloads.sourceforge.net/sevenzip/7z465.exe

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av DoXiD

...

För det första; det går alldeles utmärkt att utföra aritmetiska operationer på en char - i en char så ligger tecknet kodat som ett ascii-tecken så det behövs inga casts av typer.
För det andra: använd inte C-style strängar, detta är C++ och det är således smidigast att använda std::string.

Uppgift två är nog enklare än vad den ser ut, tänk bara på hur det är enklast att skriva ut det och håll koll på dina loopar (slingor) så kommer du nog se att det naturligaste sättat att utföra det på är att just använda nästlade slingor.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av DanielL
För det första; det går alldeles utmärkt att utföra aritmetiska operationer på en char - i en char så ligger tecknet kodat som ett ascii-tecken så det behövs inga casts av typer.
För det andra: använd inte C-style strängar, detta är C++ och det är således smidigast att använda std::string.

Uppgift två är nog enklare än vad den ser ut, tänk bara på hur det är enklast att skriva ut det och håll koll på dina loopar (slingor) så kommer du nog se att det naturligaste sättat att utföra det på är att just använda nästlade slingor.

För det första, som jag skrev.
Har aldrig sysslat med C++ innan. Så det du kallar C-Style strängar säger mig inte mycket då jag inte jobbar med C heller
Har ganska bra koll på programmeringsvärlden dock så jag förstår din poäng.

Men jag hade 10 minuter på mig att "börja lära mig C++" och försöka hjälpa killen i samma veva, innan jag skulle gå och lägga mig.

Fick tips om string.h men då char <var>[length] fungerar så körde jag på det.
Kändes enklast just då eftersom jag är van vid Python, PHP och andra saker.

Angående char m.m så har jag väldigt liten koll på det just nu.
Håller som sagt på att lära mig det och kommer kolla mer på varför programmet beter sig som det gör, allt jag vet är att det fungerar så länge

Såg inga krav på string operations så jag körde med det som fungerar