Programmerings uppgift. (C++ lättare uppgift ?) | Programmering / Grafisk formgivning | Forum

A A A

Please consider registering
Guest

Search

— Forum Scope —




— Match —





— Forum Options —





Minimum search word length is 3 characters - maximum search word length is 84 characters

Lost password?
The forums are currently locked and only available for read only access
sp_Feed sp_TopicIcon
Programmerings uppgift. (C++ lättare uppgift ?)
This topic is locked
Lehto
Kommer du hit ofta?
Medlem
Forum Posts: 1158
Member Since:
januari 22, 2006
sp_UserOfflineSmall Offline
1
maj 17, 2008 - 6:10 e m
sp_Permalink sp_Print

Tjenare.

Har en uppgift här i Programmering B C++ som enl mig är omöjlig, eller jag fattar inte hur jag ska kunna göra dom åtgärderna som behövs.

Så tänkte kolla här på forumet om ngn möjligtvis kan hjälpa med denna innan jag ger upp helt.

VÄLDIGT tacksam för er tid/hjälp

vikdos
It’s a first time for everybody
Medlem
Forum Posts: 11
Member Since:
december 20, 2007
sp_UserOfflineSmall Offline
1192675
maj 18, 2008 - 9:57 f m
sp_Permalink sp_Print

Har laddat hem uppgiften och programmet nu…

Men jag har inte riktigt hunnit kollat igenom allt för jag har några andra saker jag måste göra först men jag ska kolla igenom det senare idag

MVH
Vikdos

Lehto
Kommer du hit ofta?
Medlem
Forum Posts: 1158
Member Since:
januari 22, 2006
sp_UserOfflineSmall Offline
1192677
maj 18, 2008 - 10:01 f m
sp_Permalink sp_Print

vikdos wrote: Har laddat hem uppgiften och programmet nu…

Men jag har inte riktigt hunnit kollat igenom allt för jag har några andra saker jag måste göra först men jag ska kolla igenom det senare idag

MVH
Vikdos

Tackar så mycket. Hoppas du förstår mer av det än mig 😛

vikdos
It’s a first time for everybody
Medlem
Forum Posts: 11
Member Since:
december 20, 2007
sp_UserOfflineSmall Offline
1192698
maj 18, 2008 - 2:33 e m
sp_Permalink sp_Print

Hej igen

Nu har jag försökt få till uppgiften och jag får endast till steg 1 och 2. Anledningen att jag inte får till steg 3 är att jag aldrig riktigt förstått iteratorer och att jag inte tycker om listbiblioteket (för man kan inte komma åt inviduella element på något smidigt sätt utan att använda just iteratorer) utan jag föredrar vektorbiblioteket istället.

Här är iaf min kod för steg 1 och 2


#include <iostream>
#include <string>
#include <iomanip>
#include <iostream>
#include <fstream>
#include <list>
using namespace std;

struct anvandare
{
string namn;
string tele;
};

bool ladda();
bool spara();
int inmatning();
int listaanvandare();
int val;

string filnamn;
anvandare temp;
list<anvandare> uppgifter;

int main ()
{

while(true)
{
cout << "Meny; vx84lj ett alternativ: " << endl
<< "1. ---> Mata in anvx84ndare" << endl
<< "2. ---> Lista anvx84ndare" << endl
<< "3. ---> Ladda in anvx84ndare fran fil" << endl
<< "4. ---> Spara anvandare till fil" << endl
<< "5. ---> Avsluta" << endl;
cin >> val;
cin.ignore(1000, 'n');
if (val == 1)
{
system("cls");
inmatning();
}
else if (val == 2)
{
system("cls");
listaanvandare();
}
else if (val == 3)
{
ladda();
}
else if (val == 4)
{
spara();
}
else if (val == 5)
{
break;
}
}
}

bool ladda()
{
cout << "Angen filens namn som du vill x84ppna" << endl;
cin >> filnamn;

ifstream load (filnamn.c_str());

if (load.is_open())
{
while (!load.eof())
{
string rad;

getline(load,rad);

int position;
position = rad.find(",");

// om den hittade ","
if (position != string::npos)
{
cout << position << endl;
// plockar ut namnet
temp.namn.assign(rad,0,position);
position++;
// plockar ut telefon nummret
temp.tele.assign(rad,position,rad.size()-position);

// lägger till användaren till listan
uppgifter.push_back(temp);
}
// om den inte hittade ","
else
{
cout << "kunde inte hitta ," << endl;
return false;
}
}

cout << "filen innehöll: " << endl;
for (int i=0; i < uppgifter.size(); i++)
{
cout << "Namn: " << uppgifter.front().namn << " telefon: " << uppgifter.front().tele << endl;
uppgifter.push_back(uppgifter.front());
uppgifter.pop_front();
}
}
else
{
cout << "filen " << filnamn << " x84r tom" << std::endl;
return false;
}

return true;
}

bool spara()
{
cout << "Ange filnamn som du vill spara användarna till: " << endl;
getline(cin,filnamn);
ofstream save(filnamn.c_str(), ios::trunc);

list<anvandare> lista = uppgifter;

if (save.is_open())
{
for (int i=0; i < uppgifter.size(); i++)
{
// sparar namnet ett "," och sedan telefon nummret
save << lista.front().namn
<< ","
<< lista.front().tele;

// om man inte sparade den sista användaren
if ((i+1) != uppgifter.size())
{
// så lägger vi till radslut
save << endl;
}

lista.pop_front();
}
}
else
{
cout << "Gick inte att spara anvandarna" << std::endl;
return false;
}

cout << "Anvandare sparade!" << endl;
return true;
}

int inmatning()
{

while (true)
{
int froga, antal;
cout << "Antal nya anvandare: ";
cin >> antal;
cin.ignore(1000, 'n');

cout << "Mata in fx94r-, efternamn och telefonnummer px86 " << antal << " personer: " << endl;
for (int po = 1; po <= antal; po++)
{
// läser in namn och telefon nummer
cout << "Person " << po << ": ";
getline(cin, temp.namn);
cout << "Telefonnummer: ";
cin >> temp.tele;
cin.ignore(1000, 'n');

// lägger till användaren i listan
uppgifter.push_back(temp);

}
cout << "x86ter gx86 till menyn? (1 = ja, 2 = nej)" << endl;
cin >> froga;
cin.ignore(1000, 'n');
if (froga == 1)
{
system("cls");
break;
}
}

}
int listaanvandare()
{
while (true)
{
int fraga;
for (int i = 0; i < uppgifter.size(); i++)
{
cout << "Namn: " << uppgifter.front().namn << " telefon: " << uppgifter.front().tele << endl;

// lägger användaren som ligger först sist i listan
uppgifter.push_back(uppgifter.front());
uppgifter.pop_front();
}
cout << "x86ter gx86 till menyn? (1 = ja, 2 = nej)" << endl;
cin >> fraga;
cin.ignore(1000, 'n');
if (fraga == 1)
{
system("cls");
break;
}
}
}

Annars kan jag rekommendera sidan http://www.cplusplus.com

MVH
Vikdos

Lehto
Kommer du hit ofta?
Medlem
Forum Posts: 1158
Member Since:
januari 22, 2006
sp_UserOfflineSmall Offline
1192700
maj 18, 2008 - 2:57 e m
sp_Permalink sp_Print

tackar, ska gå igenom ändringarna och se vad som har gjorts.
Steg 3 tror jag nog att jag kan fixa själv, det var just steg 1 & 2 som gjorde mig helt ställd.

Tack för att du tog dig tid 🙂

vikdos
It’s a first time for everybody
Medlem
Forum Posts: 11
Member Since:
december 20, 2007
sp_UserOfflineSmall Offline
1192706
maj 18, 2008 - 4:06 e m
sp_Permalink sp_Print

Varsågod 😀

MVH
Vikdos

This topic is locked
Forum Timezone: Europe/Stockholm

Most Users Ever Online: 694

Currently Online:
327 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

Andreas Galistel: 16287

Jonas Klar: 15897

ilg@dd: 10810

Nyhet: 10607

Mind: 10550

Ctrl: 10355

Gueno: 9881

Guest: 9344

Snorch: 8881

Callister: 8468

Newest Members:

GermanVevy GermanVevy

ytaletkygf ytaletkygf

jtaletaoqg jtaletaoqg

AplusMotHQ AplusMotHQ

WileysitZI WileysitZI

ppu-pro_bewRG ppu-pro_bewRG

MichaeldalIL MichaeldalIL

WilliamWotQI WilliamWotQI

FuriousBraw FuriousBraw

UbvpwcgatKX UbvpwcgatKX

Forum Stats:

Groups: 11

Forums: 59

Topics: 146630

Posts: 1300967

 

Member Stats:

Guest Posters: 2

Members: 78407

Moderators: 0

Admins: 11

Administrators: nordicadmin, Henrik Berntsson, Anton Karmehed, Carl Holmberg, Joel Oscarsson, Mikael Linnér, Mikael Schwartz, Andreas Paulsson, Nickebjrk, Mattias Pettersson, EmxL