Mái nhà IT
Chào mừng bạn đã đến với diễn đàn, mong rằng bạn sẽ có những phút giây thật vui vẻ và hạnh phúc!
Hãy đăng ký để là thành viên hoặc đăng nhập để hạn chế vài phiền phức từ quảng cáo và có nhiều quyền lợi hơn trong diễn đàn.



 
IndexCalendarTrợ giúpTìm kiếmThành viênNhómĐăng kýĐăng Nhập
News & Announcements
  • Gallery & Others

Share | 
 

 Lỗi nhập mssv

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Gavuon
Tiểu học
Tiểu học


Tổng số bài gửi : 5
Điểm : 64
Số lần được cảm ơn : 2
Sinh nhật : 01/01/1992
Ngày gia nhập : 18/04/2010
Tuổi : 24
Đến từ : Làng Trăng

Bài gửiTiêu đề: Lỗi nhập mssv   Sun Apr 18, 2010 3:33 pm

Chào các bạn, mình đang viết chương trình C++ (Code ben duoi), chương trình danh sách sinh viên. Nhưng khi mình run chương trình thì không cách nào nhập được MSSV, bạn nào biết chỉ mình với.

Code:
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string.h>
using namespace std;
typedef struct{
char mssv[8];
char hoten[35];
char lop[9];
char namsinh[8];
float dtb;
char xl[10];
}SinhVien;
SinhVien* ds;

void Nhap(SinhVien *ds, int n){
for(int i=0;i<n;i++){
cout <<"Nhap vao thong tin sinh vien thu "<< i+1 <<"\nNhap vao MSSV: ";
cin.getline(ds[i].mssv,8);
cout <<"Nhap vao ho va ten sinh vien: ";
cin.getline(ds[i].hoten,34);
cout <<"Nhap vao lop cua sinh vien: ";
cin.getline(ds[i].lop,9);
cout <<"Nhap vao nam sinh: ";
cin.getline(ds[i].namsinh,8);
cout << "Nhap vao diem trung binh cua sinh vien: ";
cin >> ds[i].dtb;
}
}
void in(SinhVien *ds, int n){
cout <<"\t\t\tDANH SACH SINH VIEN\n";
cout << " MSSV | Ho va Ten | Lop | Nam sinh |Diem trung binh| Xep Loai\n";
for(int i=0;i<n;i++){
cout <<ds[i].mssv<<" |" ;
cout <<ds[i].hoten<<" |";
cout <<ds[i].lop<<" |";
cout <<ds[i].namsinh<<" |";
cout <<ds[i].dtb<<" |";
cout <<ds[i].xl<<" |\n";
}
}

int main(){
int n;
char inds[2];
cout<<"Nhap so luong sinh vien can nhap thong tin: ";
cin>> n;
SinhVien *ds = new SinhVien[n];
Nhap(ds,n);
cout <<"Ban co muon in danh sach ra man hinh khong(y/n)?";
cin.getline(inds,2);
if(strcmp(inds ,"y")==0 or strcmp(inds,"Y")==0){
in(ds,n);
}
else
cout <<"Inputing is ended, please press enter to quit!";
getch();
return 0;
}
Về Đầu Trang Go down
Xem lý lịch thành viên
ddtan90
Trung học
Trung học


Tổng số bài gửi : 32
Điểm : 198
Số lần được cảm ơn : 15
Sinh nhật : 01/01/1990
Ngày gia nhập : 02/03/2010
Tuổi : 26
Đến từ : Soc Trang

Bài gửiTiêu đề: Re: Lỗi nhập mssv   Mon Apr 26, 2010 5:58 pm

Xin lỗi bạn GaVuon vi lâu quá không có lên diễn đàn nên không trả lời câu hỏi của bạn được.
Lỗi chương trình của bạn cũng là lỗi thường thấy của dân lập trình và nó cũng đã khiến biết bao nhiêu người phải ôm đầu. Giải thuật không sai, mọi thứ khác đều ok trừ 1 điều, sau khi bạn nhập xong số lượng sinh viên sẽ nhập vào thì số lượng sẽ được gán cho số_lượng còn phím enter thì vẫn còn đó trong bộ nhớ đệm. do đó nó sẽ được gán cho MSSV.
Bạn chỉ cần thêm vào trong chương trình một dòng lệnh để xóa bộ nhớ đệm đi.
Trích dẫn :
void Nhap(SinhVien *ds, int n){
for(int i=0;icout <<"Nhap vao thong tin sinh vien thu "<< i+1 <<"\nNhap vao MSSV: ";
fflush(stdin);
cin.getline(ds.mssv,Cool;
cout <<"Nhap vao ho va ten sinh vien: ";
cin.getline(ds.hoten,34);
cout <<"Nhap vao lop cua sinh vien: ";
cin.getline(ds.lop,9);
cout <<"Nhap vao nam sinh: ";
cin.getline(ds.namsinh,Cool;
cout << "Nhap vao diem trung binh cua sinh vien: ";
cin >> ds.dtb;
}
Về Đầu Trang Go down
Xem lý lịch thành viên
 

Lỗi nhập mssv

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
Mái nhà IT :: Góc tin học :: Kỹ thuật Lập trình-
Forumotion.com | © phpBB | Free forum support | Liên hệ | Report an abuse | Create a blog