@ngoisaochip wrote:
include "stdafx.h"
include "conio.h"
include "iostream"
include "stdio.h"
struct SinhVien
{
char strMSSV[9];
char strHoTen[30];
char strNamSinh[5];
float fDiemTrungBinh;
};
struct SinhVienNode
{
SinhVien info;
SinhVienNode pNext;
};
struct List
{
SinhVienNode pHead;
SinhVienNode pTail;
};
void XuatDanhSach[SinhVienNode p];
void init[List & L];
SinhVienNode getNode[char MSSV[9], char HoTen[30], char NamSinh[5], float DiemTrungBinh];
void addFirst[List & l, SinhVienNode p];
void addTail[List & l, SinhVienNode p];
SinhVienNode insertHead [List & l, char MSSV[9], char HoTen[30], char NamSinh[5], float DiemTrungBinh];
SinhVienNode insertTail [List & l, char MSSV[9], char HoTen[30], char NamSinh[5], float DiemTrungBinh];
void addAfter[List & l, SinhVienNode q, SinhVienNode p];
void main[]
{
List lop18TH01;
int a, b;
init[lop18TH01];
do
{
printf["Nhap so luong sinh vien muon them: "];
scanf_s["%d", &a];
}
while [a < 1];
printf["\n"];
SinhVienNode p;
char strMSSV[9];
char strHoTen[30];
char strNamSinh[5];
float fDiemTrungBinh;
for [int i=1; iinfo.strMSSV];
printf["Nhap vao ho va ten: "];
scanf_s["%s", &p->info.strHoTen];
printf["Nhap vao nam sinh: "];
scanf_s["%s", &p->info.strNamSinh];
printf["Nhap vao diem trung binh: "];
scanf_s["%f", &p->info.fDiemTrungBinh];
p = getNode[strMSSV, strHoTen, strNamSinh, fDiemTrungBinh];
addTail[lop18TH01, p];
}
/_getch[];
system["cls"];
do
{
printf["1 \t\n"];
printf["2 \t\n"];
printf["3 \t\n"];
printf["4 \t\n"];
printf["5 \t\n"];
printf["0 \t\n"];
printf["Chon: "];
scanf_s["%d", &b];
system["cls"];
switch [b]
{
case 1:
break;
case 2:
_getch[]; break;
case 3:
_getch[]; break;
case 4:
_getch[]; break;
case 5:
_getch[]; break;
};
system["cls"];
}
while [a != 0];
/
_getch[];
}
void XuatDanhSach[SinhVienNode p]
{
printf["%s - %s - %s - %.1f\n", p->info.strMSSV, p->info.strHoTen, p->info.strNamSinh, p->info.fDiemTrungBinh];
}
void init[List & l]
{
l.pHead = l.pTail = NULL;
}
SinhVienNode getNode[char MSSV[9], char HoTen[30], char NamSinh[5], float DiemTrungBinh]
{
SinhVienNode p = new SinhVienNode;
if [p == NULL]
return NULL;
strcpy_s [p->info.strMSSV, MSSV];
strcpy_s [p->info.strHoTen, HoTen];
strcpy_s [p->info.strNamSinh, NamSinh];
p->info.fDiemTrungBinh = DiemTrungBinh;
p->pNext = NULL;
return p;
}
void addFirst[List & l, SinhVienNode p]
{
if [l.pHead == NULL]
l.pHead = l.pTail = p;
else{
p->pNext = l.pHead;
l.pHead = p;
}
}
void addTail[List & l, SinhVienNode p]
{
if [l.pHead == NULL]
l.pHead = l.pTail = p;
else
{
l.pTail->pNext = p;
l.pTail = p;
}
}
SinhVienNode insertHead[List & l, char MSSV[9], char HoTen[30], char NamSinh[5], float DiemTrungBinh]
{
SinhVienNode p = getNode [MSSV, HoTen, NamSinh, DiemTrungBinh];
if [p != NULL]
{
addFirst [l, p];
return p;
}
return NULL;
}
SinhVienNode insertTail [List & l, char MSSV[9], char HoTen[30], char NamSinh[5], float DiemTrungBinh]
{
SinhVienNode p = getNode [MSSV, HoTen, NamSinh, DiemTrungBinh];
if [p != NULL]
{
addTail [l, p];
return p;
}
return p;
}
void addAfter[List & l, SinhVienNode q, SinhVienNode *p]{
if [q != NULL]
{
p->pNext = q->pNext;
q->pNext = p;
}
if [q = l.pTail]
l.pTail = p;
addFirst[l, p];
}
Posts: 4
Participants: 3
Read full topic
Em viết code bài tìm ngày kế tiếp tự dưng bị lỗi c4700:uninitialized local variable 'x' used tiền bối nào giải thích giúp với
Code:
include
include
typedef struct { int ngay; int thang; }ngaythang; ngaythang nhap[char *m]; void xuat[ngaythang n]; ngaythang ngayketiep[ngaythang n]; void main[] { ngaythang n,ngaykt; n = nhap["moi nhap ngay thang"]; ngaykt = ngayketiep[n]; xuat[ngaykt]; _getch[]; } ngaythang nhap[char *m] { ngaythang n; printf[m]; do {
printf["moi nhap ngay: "];
scanf_s["%d", &n.ngay];
if [n.ngay > 31 || n.ngay < 1]
printf["khong thoa man moi nhap lai\n"];
} while [n.ngay>31 || n.ngay < 1];
do
{ printf["moi nhap thang: "];
scanf_s["%d", &n.thang];
if [n.thang>12 || n.ngay < 1]
printf["khong thoa man moi nhap lai\n"];
} while [n.thang>12 || n.thang < 1];
return n;
}
void xuat[ngaythang n]
{
printf["ngay %d, thang %d", n.ngay, n.thang];
}
ngaythang ngayketiep[ngaythang n]
{
ngaythang x;
//tim ngay ke tiep
if [n.ngay != 30 && n.ngay != 31] x.ngay++;
else
if [n.ngay == 30] switch [n.thang]
{
case 4:
case 6:
case 9:
case 11:
x.ngay = 1;
break;
case 2:
printf["thang 2 ko co ngay 30"];
break;
default:
x.ngay = 31;
break;
}
else
{ switch [n.thang]
{
case 4:
case 6:
case 9:
case 11:
printf["thang nay khong co ngay 31"];
break;
case 2:
printf["thang 2 khong co ngay 31"];
break;
default:
x.ngay = 1;
break;
}
}
//tim thang ke tiep
if [n.thang == 12] x.thang = 1;
else x.thang++;
return x;
}