當前位置:編程學習大全網 - 編程語言 - c語言編程不使用結構

c語言編程不使用結構

# include & ltstdio.h & gt

# include & ltstring.h & gt

# include & ltstdlib.h & gt

# include & ltconio.h & gt

void init(struct student * STD);

void insert(struct student * STD);

void del(struct student * STD);

void排序(struct student * STD);

void show(struct student * STD);

無效交易(int choose,struct student * STD);

#define MAX 10 //學生數據的最大數量,因為要插入數據,所以輸入壹般小於10。

靜態int n = 0;//全局變量,記錄學生總數。

結構學生

{

字符名稱[10];//學生姓名

浮動分數;//學生成績

};

Void init(struct student * std) //數據初始化

{

char k;

結構學生溫度;//暫時接受讀取的數據。

{

Printf("請輸入學生信息:\ n ");

printf(" name:");

fflush(stdin);

scanf("%s ",& amptemp . name);

Printf("成就:");

scanf("%f ",& amptemp . score);//(年級的閱讀類型不對。)

Printf("是否繼續:Y是,N否\ N ");

fflush(stdin);

scanf("%c ",& ampk);

if(temp . score & gt;=0) //如果輸入分數不小於0,則認為是正常數據並記錄。

{

strcpy(標準[n])。name,temp . name);

標準;標準。score = temp.score

n++;

}

} while(k = = ' Y ' | | k = = ' Y ');

}

void Insert(struct student * STD)//在末尾插入壹個學生數據。

{

int i,j,num = n;

char k;

結構學生溫度;//臨時,接受讀取的數據。

做{

Printf("要插在哪裏:");

printf(" \ n請輸入壹個小於%d:",num+1的數字);

scanf("%d ",& ampI);//記錄要插入的位數。

如果(i & gtnum+1)

{//如果輸入的數字超過最後壹位,則將該數字放在最後壹位。

I = num+1;

}

printf(" \ n輸入要插入的學生姓名:");

fflush(stdin);

scanf("%s ",& amptemp . name);

Printf("成就:");

scanf("%f ",& amptemp . score);

if(temp . score & gt;=0) //如上,判斷數據是否有效。

{

for(j = num;j & gt= I;j-)//數據依次向前移動

{

strcpy(標準[j].名稱,標準[j-1]。姓名);

std[j]。分數=std[j-1]。分數;

}

strcpy(標準[識別號1])。name,temp . name);//復制名稱

標準[識別號1]。score = temp.score//復制結果

num++;

}

Printf("是否繼續:Y是,N否\ N ");

fflush(stdin);

scanf("%c ",& ampk);

} while(k = = ' Y ' | | k = = ' Y ');

n = num

顯示(標準);

}

void del(結構學生*標準)

{

int i,j;

char del _ name[10];

Printf("輸入要刪除的學生姓名\ n ");

scanf("%s ",& ampdel _ name);//讀入要刪除的學生姓名。

for(I = 0;我& ltn;i++)

{

如果(!(strcmp (STD [I])。name,del _ name))//逐個比較是否有要刪除的學生。當strcmp函數滿足條件時,它返回0,因此添加了壹個非符號。

{

for(j = I;j & ltn;J++) //下面的數據逐壹前移,覆蓋要刪除的數據。

{

strcpy(標準[j].名稱,標準[j+1]。姓名);

std[j]。分數=std[j+1]。分數;

}

-n;//學生總數減少壹名

Printf("%s已被刪除!\n ",del _ name);

}

}

顯示(標準);

}

void排序(結構學生*標準)

{

int i,j;

結構學生溫度;

for(I = 0;我& ltn;i++)

{//學生成績按降序排列。

for(j = 0;j & ltn-1;j++)

{

if(std[j].得分& ltstd[j+1]。分數)

{

strcpy(臨時名稱,標準[j])。姓名);臨時分數=標準[j]。分數;

strcpy(標準[j].名稱,標準[j+1]。姓名);std[j]。分數=std[j+1]。分數;

strcpy(std[j+1])。name,temp . name);std[j+1]。score = temp.score

}

}

}

}

Void show(struct student * std) //輸出所有學生。

{

int I;

char k;

{

printf(" name | grade \ n ");

for(I = 0;我& ltn;i++)

{

printf(" % 10s \ t % 10.2 f \ n ",std[i]。名稱,std[i]。分數);

}

//(壹般來說,如果同壹結果沒有同時顯示兩次,建議將while()改為system(" pause ");

Printf("是否繼續:Y是,N否\ N ");

fflush(stdin);

scanf("%c ",& ampk);

} while(k = = ' Y ' | | k = = ' Y ');

}

Void deal (int choose,struct student * STD)//判斷,輸入選項。

{

切換(選擇)

{

案例1:

初始化(標準);

打破;

案例二:

插入(標準);

打破;

案例三:

del(STD);

打破;

案例4:

排序(標準);

打破;

案例5:

顯示(標準);

打破;

案例6:

打破;

默認值:

printf("請輸入正確的數字\ n ");//如果不滿足條件,則輸出提示信息。

}

}

int main()

{

結構學生標準[最大值];

int choose

int I;

字符編碼[10];

char usename[20];

printf("-\ n ");

printf("---\ n ");

Printf(" -歡迎使用本系統-\ n ");

printf("---\ n ");

Printf(" -用戶名或密碼輸入錯誤3次,系統將自動退出-\ n ");

printf("---\ n ");

printf("-\ n ");

for(I = 0;我& lt3;i++)

{

Printf("請輸入您的用戶名:\ n ");

scanf("%s ",usename);

Printf("請輸入您的密碼:\ n ");

scanf("%s ",代碼);

if(strcmp(usename," 123 ")= = 0 & amp;& ampstrcmp(代碼,“123”)= = 0)

{

Printf("恭喜,成功登錄!\ n ");

打破;

}

其他

{

Printf("您的用戶名或密碼錯誤,請檢查!\ n ");

}

}

如果(i==3)

{

printf(" \ n \ t抱歉,錯誤輸入已達3次,程序將退出!\ n ");

}

其他

{

做{

系統(“cls”);//清屏(最好在顯示菜單前清屏)

printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");

Printf("*歡迎使用本系統* \ n ");

printf(" * 1 input * \ n ");

printf(" * 2 insert * \ n ");

printf(" * 3 delete * \ n ");

printf(" * 4 sort * \ n ");

Printf("* 5顯示* \ n ");

Printf("* 6退出程序* \ n ");

printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");

Printf("請輸入您的選擇:\ n ");

scanf("%d ",& amp選擇);

交易(選擇,標準);

}while(選擇!=6);

返回0;

系統(“cls”);//清屏(程序已經運行完,但是這句話沒有運行,可以刪除)

}

}

  • 上一篇:磚墻鎮的經濟發展
  • 下一篇:MVC框架的常見框架
  • copyright 2024編程學習大全網