Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


utskriftsfel

Postades av 2003-06-29 14:47:59 - Anton Bretting, i forum c++, Tråden har 13 Kommentarer och lästs av 932 personer

hej, jag har ett litet problem med mitt program som kommer här nedan, utskrifterna på slutet blir helt fel, nån som kan se nått fel koden?

<code>
#include <iostream>
#include <stdlib.h>

using namespace std;

int main(int argc, char *argv[])
{
struct employeelist {
char firstname[10];
char lastname[10];
char adress[20];
char hiredate[20];
char insurance[20];
};

employeelist record[3];
int i = 0;
do {
cout << "Personal Record nr." << i+1 << endl;
cout << "Firstname of the employee: ";
cin.getline(record[i].firstname,10);

cout << "Lastname of the employee: ";
cin.getline(record[i].lastname,10);

cout << "Adress of the employee: ";
cin.getline(record[i].adress,20);

cout << "When was the employee hired: ";
cin.getline(record[i].hiredate,20);

cout << "Is the employee insured? ";
cin.getline(record[i].insurance,20);

i++;
cout << " " << endl;
}
while ( i < 3 );
system("cls");

cout << "What record do you what to look at? ";
int rec;
do {
cin >> rec;
} while(3>rec && rec>-1);
employeelist temp = record[rec];

cout << "firstname: " << temp.firstname << endl;
cout << "Lastname: " << temp.lastname << endl;
cout << "Adress: " << temp.adress << endl;
cout << "Hire date: " << temp.hiredate << endl;
cout << "Insurance: " << temp.insurance << endl;

system("PAUSE");
return 0;
}
</code>


Svara

Sv: utskriftsfel

Postades av 2003-06-29 15:24:51 - Niklas Jansson

>blir helt fel
Och vad betyder det?

Om det först står vettiga grejer, men sen skräp, typ:
First Name: Olle2450 684243r2r^^+f¨'

så beror det på att strängen inte blivit avslutad korrekt. Då får du ändra till
cin.getline(record[i].firstname,9);

Annars får du nog förklara vad det är som är fel.

F.ö. så bör du
1) Använda <cstdlib> och inte <stdlib.h>
2) Skriva using namespace inuti main.
3) Sätta structen utanför main.
4) Använda medlemsfunktioner i structen istället för att skriva ut det "manuellt".
5) Använda string istället.


Svara

Sv: utskriftsfel

Postades av 2003-06-29 16:07:35 - Anton Bretting

det blir inget vettigt alls, det blir tecken som jag bara sett i min gammla pascal bok

4) Använda medlemsfunktioner i structen istället för att skriva ut det "manuellt".
5) Använda string istället.

kan du utveckla detta lite mer?


Svara

Sv: utskriftsfel

Postades av 2003-06-29 21:41:41 - Niklas Jansson

4)
Du skriver C++, det är ju uppenbart.
Därför så bör du inte använda dig av c-strängar, dvs. char * (eller char [], det är samma sak), utan istället klassen "string".

Du skriver alltså inte

char firstname[10];

utan

string firstname;

sen kan du köra med t.ex. cin >> firstname;
De är lättare att hantera, och ofta effektivare än C-strängar.

5) I C++ infördes medlemsfunktioner för strukturer och klasser (som också infördes i samma veva).
Det innebär att du kan skriva

struct Employee {
string firstname;
string lastname;
//...

void Print() {
std::cout << "First name: " << firstname << endl << "Last name: " << lastname; //...
}
} ;

Och sen använda det så här:

Employee p;
p.firstname="Olle"
//...
p.Print();

(Detta är inte hela historien, men jag orkar inte skriva allt sånt nu...)


Svara

Sv: utskriftsfel

Postades av 2003-06-29 23:13:38 - Anton Bretting

är det någon extra header man måste lägga till för att string ska fungera?
för mig står det bara "7 C:\Program\Dev-Cpp\h4.1.cpp - 'string' is used as a type, but is not defined"


Svara

Sv: utskriftsfel

Postades av 2003-06-30 08:54:32 - Niklas Jansson

Ja, <string>.
Allt i den ligger också i namespace std.


Svara

Sv: utskriftsfel

Postades av 2003-06-30 19:16:31 - Anton Bretting

hmm, nu har jag includat den men det står samma sak ändå :S


Svara

Sv: utskriftsfel

Postades av 2003-06-30 21:58:09 - Niklas Jansson

Hmm... det verkar som du inte är riktigt haj på namespaces än.

Om du har gjort enligt mitt råd, och lagt structen utanför main, så får du skriva
std::string. (eller "using std::string" i structen, osäker på om det funkar).

Annars KAN du skriva using namespace std; längst upp, men det är inte speciellt bra.


Svara

Sv: utskriftsfel

Postades av 2003-06-30 23:58:52 - Anton Bretting

jag har just börjat programmera så jag kan inte så mycket, men tack för all hjälp :)


Svara

Sv: utskriftsfel

Postades av 2003-07-06 14:41:47 - Anton Bretting

hur ska jag göra om jag ska spara hela meningar i en string då?


Svara

Sv: utskriftsfel

Postades av 2003-07-07 09:22:22 - Niklas Jansson

Att spara hela meningar är absolut inget problem. Problemet som du syftar på skulle väl kunna vara att läsa in hela meningar.

Hur vill du ha dem, radvis, ett visst antal tecken, något annat slut?


Svara

Sv: utskriftsfel

Postades av 2003-07-07 18:43:52 - Anton Bretting

jag vill ha att man skriver tills man trycker på enter, då ska den vara slut.


Svara

Sv: utskriftsfel

Postades av 2003-07-07 20:58:55 - Niklas Jansson

getline(cin, s, '\n');

Tror att det finns lite inställningar att göra i cin också, lite osäker på det...


Svara

Sv: utskriftsfel

Postades av 2003-07-09 17:32:54 - Anton Bretting

tack så hemskt mycket :)


Svara

Nyligen

  • 21:41 Automotive Services UK
  • 20:44 Erfarenhet av CBD-olja mot sömnpro
  • 12:13 Sex Dolls for Sale
  • 19:42 Online Casinos for Haitian Players
  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 880
27 965
271 776
609
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies