chào các anh , em mới tập tành học C làm bài quản lý sinh viên mà cái xcode nó cứ bắt em trả về giá trị cho cái hàm nhập mà em trả về cái gì cũng không fix được , em còn thiếu kinh nghiệm nên muốn post code lên đây các anh sửa giúp em , em cám ơn ạ
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct sinhvien{
char ht[30];
int tuoi;
struct sinhvien *next;
} sv;
sv nhap(sv *p){
sv *pdau;
int i=0,tuoi;
char ten[30];
p=NULL;
pdau=NULL;
while(i){
printf("\n nhập tên : ");
fflush(stdin);
gets(ten);
if(ten[0] == '\0'){
return *pdau;
}
if(pdau == NULL){ // con trỏ pdau chưa trỏ vào đâu
p=(sv *)malloc(sizeof(sv)); // cấp phát bộ nhớ động cho con trỏ p để lưu thông tin
pdau=p; // cho pdau trỏ tới p
}
else{
(*p).next=(sv *)malloc(sizeof(sv)); // cấp phát bộ nhớ động cho cấu trúc tiếp theo
p=(*p).next; // cho p trỏ tới cấu trúc mới để nhập thêm thông tin
}
strcpy((*p).ht,ten);
printf("\n nhập tuổi : ");
(*p).tuoi=tuoi;
(*p).next = NULL; // không trỏ p tới cấu trúc tiếp theo nữa
}
}
void xuat(sv *p,sv *pdau)
{
p=pdau;
while(p!= NULL){
printf("\n %30s | %3d",(*p).ht, (*p).tuoi);
p=(*p).next;
}
}
void manin()
{
sv *pdau,*p;
char ch=';';
while (ch != 27){
printf("\n \n Chọn công việc ( ấn ESC để thoát) : ");
printf("\n 1. Nhập ");
printf("\n 2. Xuất ");
printf("\n 3. Xoá ");
printf("\n Thêm ");
ch=getchar();
switch(ch){
case '1': {
system("cls");
nhap(p);
break;
}
case '2' :{
system("cls");
xuat(p,pdau);
break;
}
}
}
}