最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)(鏈表)

 更新時間:2022年06月20日 11:07:48   作者:Demo龍  
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C語言實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

1.頭文件和預(yù)處理

#include <stdio.h>
#include<string.h>
#include<malloc.h>
#include<stdlib.h>
#include<stdbool.h>
#include<iostream>
using namespace std;
#define NO_LENGTH ?20
#define NAME_LENGTH 11

2.定義學(xué)生結(jié)構(gòu)體的數(shù)據(jù)結(jié)構(gòu)

typedef struct Student{
?? ?char studentNo[NO_LENGTH];
?? ?char studentName[NAME_LENGTH];
?? ?int score;
}st;

3.定義每條記錄或節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)

/* 定義每條記錄或節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu) */
typedef struct node
{
?? ?struct Student data; //數(shù)據(jù)域
?? ?struct node *next; //指針域
}Node,*Link; ?//Node為node類型的別名,Link為node類型的指針別名

4.函數(shù)接口代碼.

1).定義提示菜單

//定義提示菜單
void myMenu(){

?? ?printf("*****************************菜單*****************************\n");?
?? ?printf("***********************1 增加學(xué)生記錄*************************\n");?
?? ?printf("***********************2 刪除學(xué)生記錄*************************\n");?
?? ?printf("***********************3 查找學(xué)生記錄*************************\n");?
?? ?printf("***********************4 修改學(xué)生記錄*************************\n");?
?? ?printf("***********************5 統(tǒng)計學(xué)生人數(shù) ************************\n");?
?? ?printf("***********************6 顯示學(xué)生記錄*************************\n");?
?? ?printf("***********************7 退出系統(tǒng) ****************************\n");?
?? ?
}

2).增加學(xué)生記錄

void inputStudent(Link l){
?? ? printf("請輸入學(xué)生學(xué)號:");
?? ? scanf("%s",l->data.studentNo);
?? ? printf("請輸入學(xué)生的姓名:");
?? ? scanf("%s",l->data.studentName);
?? ?printf("請輸入學(xué)生的成績:");
?? ? scanf("%s",&(l->data.score));
?? ? //每個新創(chuàng)建的節(jié)點(diǎn)的next域都初始化為NULL
?? ? l->next = NULL;
?? ? system("cls");
}

3).輸入學(xué)號接口·

void inputStudentNo(char s[],char no[]){
?? ?printf("請輸入要%s的學(xué)生學(xué)號:",s);
?? ?scanf("%s",no);
}

4).遍歷表中學(xué)生

//遍歷表中學(xué)生?
void displayNode(Link head){
?? ?if(head==NULL)
?? ?{
?? ??? ?printf("學(xué)生為空\n");
?? ??? ?return;?
?? ?}
?? ?else
?? ?{
?? ??? ?Link p=head->next;
?? ??? ?while(p)
?? ??? ?{
?? ??? ??? ?cout<<"姓名:"<<p->data.studentName<<" ? ?學(xué)號"<<p->data.studentNo<<" ?成績:"<<p->data.score<<endl;?
?? ??? ??? ?p=p->next;
?? ??? ?}
?? ??? ?
?? ?}
? ?// 填寫代碼,根據(jù)傳入的鏈表head頭指針,掃描鏈表顯示所有節(jié)點(diǎn)的信息
? ?system("pause");
? ?system("cls");
}

5).增加學(xué)生記錄

/* 增加學(xué)生記錄 */
bool addNode(Link head){
?? ? Link p,q; ? //p,q兩個節(jié)點(diǎn)一前一后
?? ? Link node; ?//node指針指向新創(chuàng)建的節(jié)點(diǎn)
?? ? node=(Link)malloc(sizeof(Node));
?? ? inputStudent(node);

?? ? q = head;
?? ? p = head->next; ?//q指向head后面的第一個有效節(jié)點(diǎn)
?? ? if(head->next==NULL)
?? ??? ? //鏈表為空時
?? ??? ?head->next = node;
?? ? else {
?? ??? ? //循環(huán)訪問鏈表中的所有節(jié)點(diǎn)
?? ??? ?while(p != NULL){
?? ??? ??? ?if (node->data.studentNo < p->data.studentNo){
?? ??? ??? ??? ?//如果node節(jié)點(diǎn)的學(xué)號比p節(jié)點(diǎn)的學(xué)號小,則插在p的前面,完成插入后,提前退出子程序
?? ??? ??? ??? ?q->next = node;
?? ??? ??? ??? ?node->next = p;
?? ??? ??? ??? ?return true;
?? ??? ??? ?}
?? ??? ??? ?else{
?? ??? ??? ??? ?//如果node節(jié)點(diǎn)的學(xué)號比p節(jié)點(diǎn)的學(xué)號大,繼續(xù)向后移動指針(依然保持pq一前一后)
?? ??? ??? ??? ?q = p;
?? ??? ??? ??? ?p = p->next;

?? ??? ??? ?}
?? ??? ?}
?? ??? ?//如果沒能提前退出循環(huán),則說明之前沒有插入,那么當(dāng)前node節(jié)點(diǎn)的學(xué)號是最大值,此時插在鏈表的最后面
?? ??? ?q->next = node;

?? ?}
?? ? return true;
?? ? system("pause");
? ?system("cls");
}

6).刪除學(xué)生信息

//刪除學(xué)生信息
bool deleteNode(Link head){
? ? // 按照給定的學(xué)號刪除學(xué)生記錄,如果刪除成功返回true,如果沒找到學(xué)號返回false

? ? //輸入要處理的學(xué)號
? ? ?? ?char no[NO_LENGTH];
?? ?inputStudentNo("刪除",no);
?? ??? ?Link p=head->next;
?? ?Link q=head;
?? ?while(p)
?? ?{
?? ??? ?if(strcmp(p->data.studentNo,no)==0)
?? ??? ?{
?? ??? ??? ?q->next=p->next;
?? ??? ??? ?free(p);
?? ??? ??? ?system("pause");
? ?system("cls");
?? ??? ??? ?return true;
?? ??? ?}
?? ??? ?else
?? ??? ?{
?? ??? ??? ?q=p;
?? ??? ??? ?p=p->next;
?? ??? ?}
?? ?}
system("pause");
? ?system("cls");
?? ?return false;
}

7).查找學(xué)生信息

//查找學(xué)生信息?
bool queryNode(Link head){
? ? // 按照給定的學(xué)號查詢學(xué)生記錄,如果查找成功返回true,如果沒找到學(xué)號返回false

? ? //輸入要處理的學(xué)號
?? ?char no[NO_LENGTH];
?? ?inputStudentNo("查找",no);
?? ??? ?Link p=head->next;
?? ?while(p)
?? ?{
?? ??? ?if(strcmp(p->data.studentNo,no)==0)
?? ??? ?{
?? ??? ??? ?
? ??? ??? ??? ?system("cls");
? ??? ??? ??? ?cout<<"姓名:"<<p->data.studentName<<" ? ?學(xué)號"<<p->data.studentNo<<" ?成績:"<<p->data.score<<endl;?
?? ??? ??? ?return true;
?? ??? ?}
?? ??? ?else
?? ??? ?{
?? ??? ??? ?p=p->next;
?? ??? ?}
?? ?}
? ?system("cls");

?? ?return false;
}

8).修改學(xué)生信息

//修改學(xué)生信息?
bool modifyNode(Link head){
? ? // 按照給定的學(xué)號找到學(xué)生記錄節(jié)點(diǎn),如果修改成功返回true,如果沒找到學(xué)號返回false
?? ?
? ? //輸入要處理的學(xué)號
?? ?char no[NO_LENGTH];
?? ?inputStudentNo("修改",no);
?? ?Link p=head->next;
?? ?while(p)
?? ?{
?? ??? ?if(strcmp(p->data.studentNo,no)==0)
?? ??? ?{
?? ??? ??? ?cout<<"請輸入修改后的姓名"<<endl;?
?? ??? ??? ?cin>>p->data.studentName;
?? ??? ??? ?cout<<"請輸入修改后的學(xué)號"<<endl;?
?? ??? ??? ?cin>>p->data.studentNo;
?? ??? ??? ?cout<<"請輸入修改后的成績"<<endl;?
?? ??? ??? ?cin>>p->data.score;
?? ??? ??? ?system("cls");
?? ??? ??? ?return true;
?? ??? ?}
?? ??? ?else
?? ??? ?{
?? ??? ??? ?p=p->next;
?? ??? ?}
?? ?}
?? ?system("cls");
?? ?return false;
}

9).統(tǒng)計學(xué)生人數(shù)

//統(tǒng)計學(xué)生人數(shù)
int countNode(Link head){
?? ?//統(tǒng)計學(xué)生人數(shù),掃描鏈表統(tǒng)計節(jié)點(diǎn)個數(shù),返回節(jié)點(diǎn)數(shù)
?? ?Link p;
?? ?int count = 0;
?? ?p = head->next;
?? ?while(p)
?? ?{
?? ??? ?p=p->next;
?? ??? ?count++;
?? ?}
?? ?//填充代碼
?? ?system("cls");
?? ?return count;
}

10).清空鏈表

//清空鏈表?
void clearLink(Link head){
?? ?Link q,p;
?? ?p=head->next;
?? ?q=head;
?? ?while(p)
?? ?{
?? ??? ?q->next=p->next;
?? ??? ?free(p);
?? ??? ?p=q->next;
?? ?}
? ? ? ? //遍歷鏈表,用free語句刪除鏈表中用malloc建立起的所有的節(jié)點(diǎn)
}

5.main函數(shù)

int main() {
?? ?int select;
? ? ?? ?int count;
?? ?Link head; ?// 定義鏈表

?? ?//建立head頭結(jié)點(diǎn),在這個程序中head指向頭結(jié)點(diǎn),頭結(jié)點(diǎn)data部分沒有內(nèi)容,其后續(xù)節(jié)點(diǎn)才有真正的數(shù)據(jù)
?? ?head = (Link)malloc(sizeof(Node));
?? ?head->next = NULL;

?? ?while(1)
?? ?{
?? ??? ?myMenu();
?? ??? ?printf("\n請輸入你的選擇(0-7):"); ?//顯示提示信息
?? ??? ?scanf("%d",&select);
?? ??? ?switch(select)
?? ??? ?{
?? ??? ?case 1:
?? ??? ??? ?//增加學(xué)生記錄
?? ??? ??? ?if(addNode(head))
?? ??? ??? ??? ?printf("成功插入一個學(xué)生記錄。\n\n");
?? ??? ??? ?break;
?? ??? ?case 2:
?? ??? ??? ?//刪除學(xué)生記錄
?? ??? ??? ?if(deleteNode(head))
?? ??? ??? ??? ?printf("成功刪除一個學(xué)生記錄。\n\n");
?? ??? ??? ?else
?? ??? ??? ??? ?printf("沒有找到要刪除的學(xué)生節(jié)點(diǎn)。\n\n");
?? ??? ??? ?break;
?? ??? ?case 3:
?? ??? ??? ?//查詢學(xué)生記錄
?? ??? ??? ?if(queryNode(head))
?? ??? ??? ??? ?printf("成功找到學(xué)生記錄。\n\n");
?? ??? ??? ?else
?? ??? ??? ??? ?printf("沒有找到要查詢的學(xué)生節(jié)點(diǎn)。\n\n");
?? ??? ??? ?break;
?? ??? ?case 4:
?? ??? ??? ?//修改學(xué)生記錄
?? ??? ??? ?if(modifyNode(head))
?? ??? ??? ??? ?printf("成功修改一個學(xué)生記錄。\n\n");
?? ??? ??? ?else
?? ??? ??? ??? ?printf("沒有找到要修改的學(xué)生節(jié)點(diǎn)。\n\n");
?? ??? ??? ?break;
?? ??? ?case 5:
?? ??? ??? ?//統(tǒng)計學(xué)生人數(shù)
?? ??? ??? ?count = countNode(head);
?? ??? ??? ?printf("學(xué)生人數(shù)為:%d\n\n",count);
?? ??? ??? ?break;
?? ??? ?case 6:
?? ??? ??? ?//顯示學(xué)生記錄
?? ??? ??? ?displayNode(head);
?? ??? ??? ?break;
?? ??? ?case 7:
?? ??? ??? ?//退出前清除鏈表中的所有結(jié)點(diǎn)
? ? ? ? ? ? clearLink(head);
?? ??? ??? ?return 0;
?? ??? ?default:
?? ??? ??? ?printf("輸入不正確,應(yīng)該輸入0-7之間的數(shù)。\n\n");
?? ??? ??? ?system("cls");?
?? ??? ??? ?break;
?? ??? ?}
?? ?}
?? ?return 0;
}

6.總源碼(可直接復(fù)制運(yùn)行)

#include <stdio.h>
#include<string.h>
#include<malloc.h>
#include<stdlib.h>
#include<stdbool.h>
#include<iostream>
using namespace std;
#define NO_LENGTH ?20
#define NAME_LENGTH 11

/* 定義學(xué)生結(jié)構(gòu)體的數(shù)據(jù)結(jié)構(gòu) */
typedef struct Student{
?? ?char studentNo[NO_LENGTH];
?? ?char studentName[NAME_LENGTH];
?? ?int score;
}st;

/* 定義每條記錄或節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu) */
typedef struct node
{
?? ?struct Student data; //數(shù)據(jù)域
?? ?struct node *next; //指針域
}Node,*Link; ?//Node為node類型的別名,Link為node類型的指針別名

//定義提示菜單
void myMenu(){

?? ?printf("*****************************菜單*****************************\n");?
?? ?printf("***********************1 增加學(xué)生記錄*************************\n");?
?? ?printf("***********************2 刪除學(xué)生記錄*************************\n");?
?? ?printf("***********************3 查找學(xué)生記錄*************************\n");?
?? ?printf("***********************4 修改學(xué)生記錄*************************\n");?
?? ?printf("***********************5 統(tǒng)計學(xué)生人數(shù) ************************\n");?
?? ?printf("***********************6 顯示學(xué)生記錄*************************\n");?
?? ?printf("***********************7 退出系統(tǒng) ****************************\n");?
?? ?
}

void inputStudent(Link l){
?? ? printf("請輸入學(xué)生學(xué)號:");
?? ? scanf("%s",l->data.studentNo);
?? ? printf("請輸入學(xué)生的姓名:");
?? ? scanf("%s",l->data.studentName);
?? ?printf("請輸入學(xué)生的成績:");
?? ? scanf("%d",&(l->data.score));
?? ? //每個新創(chuàng)建的節(jié)點(diǎn)的next域都初始化為NULL
?? ? l->next = NULL;
?? ? system("cls");
}

void inputStudentNo(char s[],char no[]){
?? ?printf("請輸入要%s的學(xué)生學(xué)號:",s);
?? ?scanf("%s",no);
}
//遍歷表中學(xué)生?
void displayNode(Link head){
?? ?if(head==NULL)
?? ?{
?? ??? ?printf("學(xué)生為空\n");
?? ??? ?return;?
?? ?}
?? ?else
?? ?{
?? ??? ?Link p=head->next;
?? ??? ?while(p)
?? ??? ?{
?? ??? ??? ?cout<<"姓名:"<<p->data.studentName<<" ? ?學(xué)號"<<p->data.studentNo<<" ?成績:"<<p->data.score<<endl;?
?? ??? ??? ?p=p->next;
?? ??? ?}
?? ??? ?
?? ?}
? ?// 填寫代碼,根據(jù)傳入的鏈表head頭指針,掃描鏈表顯示所有節(jié)點(diǎn)的信息
? ?system("pause");
? ?system("cls");
}

/* 增加學(xué)生記錄 */
bool addNode(Link head){
?? ? Link p,q; ? //p,q兩個節(jié)點(diǎn)一前一后
?? ? Link node; ?//node指針指向新創(chuàng)建的節(jié)點(diǎn)
?? ? node=(Link)malloc(sizeof(Node));
?? ? inputStudent(node);

?? ? q = head;
?? ? p = head->next; ?//q指向head后面的第一個有效節(jié)點(diǎn)
?? ? if(head->next==NULL)
?? ??? ? //鏈表為空時
?? ??? ?head->next = node;
?? ? else {
?? ??? ? //循環(huán)訪問鏈表中的所有節(jié)點(diǎn)
?? ??? ?while(p != NULL){
?? ??? ??? ?if (node->data.studentNo < p->data.studentNo){
?? ??? ??? ??? ?//如果node節(jié)點(diǎn)的學(xué)號比p節(jié)點(diǎn)的學(xué)號小,則插在p的前面,完成插入后,提前退出子程序
?? ??? ??? ??? ?q->next = node;
?? ??? ??? ??? ?node->next = p;
?? ??? ??? ??? ?return true;
?? ??? ??? ?}
?? ??? ??? ?else{
?? ??? ??? ??? ?//如果node節(jié)點(diǎn)的學(xué)號比p節(jié)點(diǎn)的學(xué)號大,繼續(xù)向后移動指針(依然保持pq一前一后)
?? ??? ??? ??? ?q = p;
?? ??? ??? ??? ?p = p->next;

?? ??? ??? ?}
?? ??? ?}
?? ??? ?//如果沒能提前退出循環(huán),則說明之前沒有插入,那么當(dāng)前node節(jié)點(diǎn)的學(xué)號是最大值,此時插在鏈表的最后面
?? ??? ?q->next = node;

?? ?}
?? ? return true;
?? ? system("pause");
? ?system("cls");
}

bool deleteNode(Link head){
? ? // 按照給定的學(xué)號刪除學(xué)生記錄,如果刪除成功返回true,如果沒找到學(xué)號返回false

? ? //輸入要處理的學(xué)號
? ? ?? ?char no[NO_LENGTH];
?? ?inputStudentNo("刪除",no);
?? ??? ?Link p=head->next;
?? ?Link q=head;
?? ?while(p)
?? ?{
?? ??? ?if(strcmp(p->data.studentNo,no)==0)
?? ??? ?{
?? ??? ??? ?q->next=p->next;
?? ??? ??? ?free(p);
?? ??? ??? ?system("pause");
? ?system("cls");
?? ??? ??? ?return true;
?? ??? ?}
?? ??? ?else
?? ??? ?{
?? ??? ??? ?q=p;
?? ??? ??? ?p=p->next;
?? ??? ?}
?? ?}
system("pause");
? ?system("cls");
?? ?return false;
}

//查找學(xué)生信息?
bool queryNode(Link head){
? ? // 按照給定的學(xué)號查詢學(xué)生記錄,如果查找成功返回true,如果沒找到學(xué)號返回false

? ? //輸入要處理的學(xué)號
?? ?char no[NO_LENGTH];
?? ?inputStudentNo("查找",no);
?? ??? ?Link p=head->next;
?? ?while(p)
?? ?{
?? ??? ?if(strcmp(p->data.studentNo,no)==0)
?? ??? ?{
?? ??? ??? ?
? ??? ??? ??? ?system("cls");
? ??? ??? ??? ?cout<<"姓名:"<<p->data.studentName<<" ? ?學(xué)號"<<p->data.studentNo<<" ?成績:"<<p->data.score<<endl;?
?? ??? ??? ?return true;
?? ??? ?}
?? ??? ?else
?? ??? ?{
?? ??? ??? ?p=p->next;
?? ??? ?}
?? ?}
? ?system("cls");

?? ?return false;
}

//修改學(xué)生信息?
bool modifyNode(Link head){
? ? // 按照給定的學(xué)號找到學(xué)生記錄節(jié)點(diǎn),如果修改成功返回true,如果沒找到學(xué)號返回false
?? ?
? ? //輸入要處理的學(xué)號
?? ?char no[NO_LENGTH];
?? ?inputStudentNo("修改",no);
?? ?Link p=head->next;
?? ?while(p)
?? ?{
?? ??? ?if(strcmp(p->data.studentNo,no)==0)
?? ??? ?{
?? ??? ??? ?cout<<"請輸入修改后的姓名"<<endl;?
?? ??? ??? ?cin>>p->data.studentName;
?? ??? ??? ?cout<<"請輸入修改后的學(xué)號"<<endl;?
?? ??? ??? ?cin>>p->data.studentNo;
?? ??? ??? ?cout<<"請輸入修改后的成績"<<endl;?
?? ??? ??? ?cin>>p->data.score;
?? ??? ??? ?system("cls");
?? ??? ??? ?return true;
?? ??? ?}
?? ??? ?else
?? ??? ?{
?? ??? ??? ?p=p->next;
?? ??? ?}
?? ?}
?? ?system("cls");
?? ?return false;
}

//統(tǒng)計學(xué)生人數(shù)
int countNode(Link head){
?? ?//統(tǒng)計學(xué)生人數(shù),掃描鏈表統(tǒng)計節(jié)點(diǎn)個數(shù),返回節(jié)點(diǎn)數(shù)
?? ?Link p;
?? ?int count = 0;
?? ?p = head->next;
?? ?while(p)
?? ?{
?? ??? ?p=p->next;
?? ??? ?count++;
?? ?}
?? ?//填充代碼
?? ?system("cls");
?? ?return count;
}

//清空鏈表?
void clearLink(Link head){
?? ?Link q,p;
?? ?p=head->next;
?? ?q=head;
?? ?while(p)
?? ?{
?? ??? ?q->next=p->next;
?? ??? ?free(p);
?? ??? ?p=q->next;
?? ?}
? ? ? ? //遍歷鏈表,用free語句刪除鏈表中用malloc建立起的所有的節(jié)點(diǎn)
}

int main() {
?? ?int select;
? ? ?? ?int count;
?? ?Link head; ?// 定義鏈表

?? ?//建立head頭結(jié)點(diǎn),在這個程序中head指向頭結(jié)點(diǎn),頭結(jié)點(diǎn)data部分沒有內(nèi)容,其后續(xù)節(jié)點(diǎn)才有真正的數(shù)據(jù)
?? ?head = (Link)malloc(sizeof(Node));
?? ?head->next = NULL;

?? ?while(1)
?? ?{
?? ??? ?myMenu();
?? ??? ?printf("\n請輸入你的選擇(0-7):"); ?//顯示提示信息
?? ??? ?scanf("%d",&select);
?? ??? ?switch(select)
?? ??? ?{
?? ??? ?case 1:
?? ??? ??? ?//增加學(xué)生記錄
?? ??? ??? ?if(addNode(head))
?? ??? ??? ??? ?printf("成功插入一個學(xué)生記錄。\n\n");
?? ??? ??? ?break;
?? ??? ?case 2:
?? ??? ??? ?//刪除學(xué)生記錄
?? ??? ??? ?if(deleteNode(head))
?? ??? ??? ??? ?printf("成功刪除一個學(xué)生記錄。\n\n");
?? ??? ??? ?else
?? ??? ??? ??? ?printf("沒有找到要刪除的學(xué)生節(jié)點(diǎn)。\n\n");
?? ??? ??? ?break;
?? ??? ?case 3:
?? ??? ??? ?//查詢學(xué)生記錄
?? ??? ??? ?if(queryNode(head))
?? ??? ??? ??? ?printf("成功找到學(xué)生記錄。\n\n");
?? ??? ??? ?else
?? ??? ??? ??? ?printf("沒有找到要查詢的學(xué)生節(jié)點(diǎn)。\n\n");
?? ??? ??? ?break;
?? ??? ?case 4:
?? ??? ??? ?//修改學(xué)生記錄
?? ??? ??? ?if(modifyNode(head))
?? ??? ??? ??? ?printf("成功修改一個學(xué)生記錄。\n\n");
?? ??? ??? ?else
?? ??? ??? ??? ?printf("沒有找到要修改的學(xué)生節(jié)點(diǎn)。\n\n");
?? ??? ??? ?break;
?? ??? ?case 5:
?? ??? ??? ?//統(tǒng)計學(xué)生人數(shù)
?? ??? ??? ?count = countNode(head);
?? ??? ??? ?printf("學(xué)生人數(shù)為:%d\n\n",count);
?? ??? ??? ?break;
?? ??? ?case 6:
?? ??? ??? ?//顯示學(xué)生記錄
?? ??? ??? ?displayNode(head);
?? ??? ??? ?break;
?? ??? ?case 7:
?? ??? ??? ?//退出前清除鏈表中的所有結(jié)點(diǎn)
? ? ? ? ? ? clearLink(head);
?? ??? ??? ?return 0;
?? ??? ?default:
?? ??? ??? ?printf("輸入不正確,應(yīng)該輸入0-7之間的數(shù)。\n\n");
?? ??? ??? ?system("cls");?
?? ??? ??? ?break;
?? ??? ?}
?? ?}
?? ?return 0;
}

7.測試結(jié)果

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++ namespace命名空間解析

    C++ namespace命名空間解析

    考慮一種情況,當(dāng)我們有兩個同名的人,Zara,在同一個班里。當(dāng)我們需要對它們進(jìn)行區(qū)分我們必須使用一些額外的信息和它們的名字,比如它們生活在不同的區(qū)域或者興趣愛好什么的,在C++程序中也會遇到同樣的情況,所以命名空間就此產(chǎn)生
    2021-11-11
  • 用C語言判斷字符是否為空白字符或特殊字符的方法

    用C語言判斷字符是否為空白字符或特殊字符的方法

    這篇文章主要介紹了用C語言判斷字符是否為空白字符或特殊字符的方法,分別為isspace()函數(shù)的使用和ispunct()函數(shù)的使用,需要的朋友可以參考下
    2015-08-08
  • Qt中QUndoView控件的具體使用

    Qt中QUndoView控件的具體使用

    QUndoView是Qt框架中用于可視化顯示QUndoStack內(nèi)容的控件,本文主要介紹了Qt中QUndoView控件的具體使用,具有一定的參考價值,感興趣的可以了解一下
    2025-04-04
  • 深入分析C中不安全的sprintf與strcpy

    深入分析C中不安全的sprintf與strcpy

    本篇文章是對C中不安全的sprintf與strcpy函數(shù)的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++基于遞歸和非遞歸算法判定兩個二叉樹結(jié)構(gòu)是否完全相同(結(jié)構(gòu)和數(shù)據(jù)都相同)

    C++基于遞歸和非遞歸算法判定兩個二叉樹結(jié)構(gòu)是否完全相同(結(jié)構(gòu)和數(shù)據(jù)都相同)

    這篇文章主要介紹了C++基于遞歸和非遞歸算法判定兩個二叉樹結(jié)構(gòu)是否完全相同,若判斷二叉樹的結(jié)構(gòu)和數(shù)據(jù)都相同則為完全相同.涉及C++二叉樹的創(chuàng)建、遍歷、比較等相關(guān)操作技巧,需要的朋友可以參考下
    2017-05-05
  • Qt各種字符轉(zhuǎn)換的實(shí)現(xiàn)示例

    Qt各種字符轉(zhuǎn)換的實(shí)現(xiàn)示例

    本文主要介紹了Qt各種字符轉(zhuǎn)換的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • C++時間戳轉(zhuǎn)化操作實(shí)例分析【涉及GMT與CST時區(qū)轉(zhuǎn)化】

    C++時間戳轉(zhuǎn)化操作實(shí)例分析【涉及GMT與CST時區(qū)轉(zhuǎn)化】

    這篇文章主要介紹了C++時間戳轉(zhuǎn)化操作,結(jié)合實(shí)例形式分析了C++時間戳轉(zhuǎn)換與顯示操作的原理與具體實(shí)現(xiàn)技巧,涉及GMT與CST時區(qū)轉(zhuǎn)化,需要的朋友可以參考下
    2017-05-05
  • C++高級程序員成長之路

    C++高級程序員成長之路

    本文主要是結(jié)合自身的經(jīng)驗(yàn),給大家羅列了一些如何成為C++高級程序員的方法和注意事項,分享給大家,希望對新手能夠有所幫助。
    2015-12-12
  • C++?ASIO實(shí)現(xiàn)異步套接字管理詳解

    C++?ASIO實(shí)現(xiàn)異步套接字管理詳解

    Boost?ASIO(Asynchronous?I/O)是一個用于異步I/O操作的C++庫,該框架提供了一種方便的方式來處理網(wǎng)絡(luò)通信、多線程編程和異步操作,本文介紹了如何通過ASIO框架實(shí)現(xiàn)一個簡單的異步網(wǎng)絡(luò)套接字應(yīng)用程序,需要的可以參考下
    2023-08-08
  • QT實(shí)現(xiàn)制作一個ListView列表的示例代碼

    QT實(shí)現(xiàn)制作一個ListView列表的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何使用Qt制作一個ListView,點(diǎn)擊ListView的Item可以用于測試OpenCV的各種效果,感興趣的小伙伴可以了解一下
    2023-02-02

最新評論

光泽县| 同德县| 淳化县| 新巴尔虎右旗| 镇安县| 朝阳区| 汶上县| 来安县| 亳州市| 遂昌县| 景洪市| 遂溪县| 诏安县| 莱州市| 永定县| 清水河县| 余姚市| 丹东市| 福海县| 藁城市| 兴海县| 云南省| 慈溪市| 曲靖市| 崇义县| 新巴尔虎左旗| 晋江市| 昌邑市| 延吉市| 安达市| 西吉县| 左权县| 施秉县| 临城县| 金阳县| 成安县| 资兴市| 格尔木市| 无锡市| 潮州市| 壶关县|