调试一个c语言程序要经过,c语言程序调试
該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓
scanf("%f",&p1->score);
}
p2->next = NULL; /*此句就是根據(jù)單向鏈表的最后一個節(jié)點要指向NULL*/
free(p1); /*釋放p1。用malloc()、calloc()的變量都要free()*/
p1 = NULL;
}
Delete() //刪除節(jié)點函數(shù)
{ long num;
struct student *p1;?? /*p1保存當(dāng)前需要檢查的節(jié)點的地址*/
struct student *p2;?? /*p2保存當(dāng)前檢查過的節(jié)點的地址*/
printf("please input the num you want to delete");
scanf("%d",&num);
if (head == NULL)
{
printf("\nList is null!\n");
}
/*定位要刪除的節(jié)點*/
p1 = head;
while (p1->num != num && p1->next != NULL) /*p1指向的節(jié)點不是所要查找的,并且它不是最后一個節(jié)點,就繼續(xù)往下找*/
{
p2 = p1; /*保存當(dāng)前節(jié)點的地址*/
p1 = p1->next; /*后移一個節(jié)點*/
}
if (num == p1->num)
{
if (p1 == head) /*如果要刪除的節(jié)點是第一個節(jié)點*/
{
head = p1->next; /*頭指針指向第一個節(jié)點的后一個節(jié)點,也就是第二個節(jié)點。這樣第一個節(jié)點就不在鏈表中,即刪除。*/
}
else /*如果是其它節(jié)點,則讓原來指向當(dāng)前節(jié)點的指針,指向它的下一個節(jié)點,完成刪除*/
{
p2->next = p1->next;
}
free(p1); /*釋放當(dāng)前節(jié)點*/
p1 = NULL;
printf("\ndelete %ld success!\n",num);
n -= 1; /*節(jié)點總數(shù)減1個*/
}
else /*沒有找到*/
{
printf("\n%ld not been found!\n",num);
}
}
void insert() //插入節(jié)點函數(shù)
{}
void print() //打印所有節(jié)點的函數(shù)
{
struct student *p;
printf("\nNow , These %d records are:\n",n);
p = head;
if(head != NULL) /*只要不是空鏈表,就輸出鏈表中所有節(jié)點*/
{
printf("head is %o\n", head); /*輸出頭指針指向的地址*/
do
{
printf("%o??? %ld??? %5.1f??? %o\n", p, p->num, p->score, p->next);
p = p->next; /*移到下一個節(jié)點*/
}
while (p != NULL);
}
}
void search()
{}
void menu()
{?? printf("????????? **********學(xué)籍管理系統(tǒng)************\n");
printf("\n???????????????? ******請選擇******\n");
printf(" *************|1 |建| 立| 學(xué)| 生| 信| 息| 結(jié)| 構(gòu)|*************\n");
printf(" *************|2 |刪| 除| 學(xué)| 生| 信| 息|????? **************\n");
printf(" *************|3 |加| 入| 新| 的| 學(xué)| 生| 信| 息|*************\n");
printf(" *************|4 |顯| 示| 所| 有| 學(xué)| 生| 信| 息|*************\n ");
printf("*************|5 |查| 找| 學(xué)| 生| 信| 息|????? **************\n");
printf(" *************|0 |退| 出| 程| 序|??????????? *************\n");
}
void main()
{??? int choose;
int i=1;
while(i=1)
{
menu();
printf("請輸入0-5選擇功能");
scanf("%d",&choose);
switch(choose)
{
case'1': Create();?? break;
case'2': Delete();?? break;
case'3': insert();?? break;
case'4': print();??? break;
case'5': search();?? break;
case'0': i=0; printf("程序結(jié)束!!"); break;
default: printf("\n Wrong Selection !(選擇錯誤,重選)\n"); break;
}
}
}
總結(jié)
以上是生活随笔為你收集整理的调试一个c语言程序要经过,c语言程序调试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言输入字符串的格式不正确的是,关于c
- 下一篇: c语言程序设计 在线课程设计,c语言程序