关于选修课c语言代码
时间: 2023-07-24 22:20:41 浏览: 44
很高兴为您提供帮助。关于选修课c语言代码,您可以参考以下示例代码:
```c
#include <stdio.h>
int main() {
int choice;
printf("请选择选修课程:\n");
printf("1.计算机网络\n");
printf("2.数据库技术\n");
printf("3.操作系统\n");
scanf("%d", &choice);
switch(choice) {
case 1:
printf("您选择了计算机网络。\n");
break;
case 2:
printf("您选择了数据库技术。\n");
break;
case 3:
printf("您选择了操作系统。\n");
break;
default:
printf("无效选项。\n");
break;
}
return 0;
}
```
以上代码实现了一个选修课程的选择程序,用户可以输入数字选择不同的课程。使用 `switch` 语句判断用户的选择,并输出相应的结果。
希望能对您有所帮助。如果您有任何问题或需要进一步帮助,请随时问我。
相关问题
用C语言学生选修课查询系统开发并写出完整代码
好的,以下是一个基于C语言的学生选修课查询系统的完整代码。代码中使用结构体来存储学生和课程的信息,使用链表来存储学生选修的课程。
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct course {
int id;
char name[50];
char teacher[50];
struct course* next;
} course_t;
typedef struct student {
int id;
char name[50];
course_t* courses;
struct student* next;
} student_t;
void add_course(course_t** head, int id, char* name, char* teacher) {
course_t* course = (course_t*)malloc(sizeof(course_t));
course->id = id;
strcpy(course->name, name);
strcpy(course->teacher, teacher);
course->next = NULL;
if (*head == NULL) {
*head = course;
} else {
course_t* temp = *head;
while (temp->next != NULL) {
temp = temp->next;
}
temp->next = course;
}
}
void add_student(student_t** head, int id, char* name) {
student_t* student = (student_t*)malloc(sizeof(student_t));
student->id = id;
strcpy(student->name, name);
student->courses = NULL;
student->next = NULL;
if (*head == NULL) {
*head = student;
} else {
student_t* temp = *head;
while (temp->next != NULL) {
temp = temp->next;
}
temp->next = student;
}
}
void enroll_course(student_t* student, course_t* course) {
course_t* new_course = (course_t*)malloc(sizeof(course_t));
new_course->id = course->id;
strcpy(new_course->name, course->name);
strcpy(new_course->teacher, course->teacher);
new_course->next = NULL;
if (student->courses == NULL) {
student->courses = new_course;
} else {
course_t* temp = student->courses;
while (temp->next != NULL) {
temp = temp->next;
}
temp->next = new_course;
}
}
void print_courses(course_t* head) {
printf("%-10s %-20s %-20s\n", "Course ID", "Course Name", "Teacher");
while (head != NULL) {
printf("%-10d %-20s %-20s\n", head->id, head->name, head->teacher);
head = head->next;
}
}
void print_students(student_t* head) {
printf("%-10s %-20s %-20s\n", "Student ID", "Name", "Courses");
while (head != NULL) {
printf("%-10d %-20s ", head->id, head->name);
course_t* courses = head->courses;
while (courses != NULL) {
printf("%s, ", courses->name);
courses = courses->next;
}
printf("\n");
head = head->next;
}
}
int main() {
student_t* students = NULL;
course_t* courses = NULL;
add_course(&courses, 1001, "Math", "Mr. Smith");
add_course(&courses, 1002, "Physics", "Ms. Johnson");
add_course(&courses, 1003, "Chemistry", "Dr. Lee");
add_student(&students, 1, "Alice");
enroll_course(students, courses);
enroll_course(students, courses->next);
add_student(&students, 2, "Bob");
enroll_course(students->next, courses->next);
add_student(&students, 3, "Charlie");
enroll_course(students->next->next, courses->next->next);
printf("All courses:\n");
print_courses(courses);
printf("\nAll students:\n");
print_students(students);
return 0;
}
```
在主函数中,我们添加了三门课程和三个学生,然后将学生选修了不同的课程。最后打印出了所有的课程和学生以及他们选修的课程。
以上代码仅供参考,您可以根据需要进行修改和扩展。
用C语言写 学生选修课查询系统开发
好的,下面是一个简单的学生选修课查询系统的开发思路和代码示例。
1. 确定需求和功能:
- 输入学生信息(学号、姓名、班级等);
- 输入课程信息(课程名称、课程编号、授课教师、学分等);
- 学生选课功能:学生可以从已有的课程中选择自己的课程;
- 成绩查询功能:学生可以查询自己已选课程的成绩;
- 课程查询功能:学生可以查询所有课程信息;
- 退课功能:学生可以退选已选的课程。
2. 定义数据结构和变量:
```c
struct student {
char name[20];
char id[10];
char major[20];
int selected_course[10];
int grade[10];
int course_count;
};
struct course {
char name[20];
char id[10];
char teacher[20];
int credit;
int capacity;
int selected_count;
};
struct student stu[100];
struct course cou[100];
int stu_count = 0;
int cou_count = 0;
```
3. 实现输入学生和课程信息的函数:
```c
void add_student() {
printf("请输入学生信息:\n");
printf("姓名:");
scanf("%s", stu[stu_count].name);
printf("学号:");
scanf("%s", stu[stu_count].id);
printf("专业:");
scanf("%s", stu[stu_count].major);
stu[stu_count].course_count = 0;
stu_count++;
}
void add_course() {
printf("请输入课程信息:\n");
printf("课程名称:");
scanf("%s", cou[cou_count].name);
printf("课程编号:");
scanf("%s", cou[cou_count].id);
printf("授课教师:");
scanf("%s", cou[cou_count].teacher);
printf("学分:");
scanf("%d", &cou[cou_count].credit);
printf("容量:");
scanf("%d", &cou[cou_count].capacity);
cou[cou_count].selected_count = 0;
cou_count++;
}
```
4. 实现学生选课和退课的函数:
```c
void select_course() {
char course_id[10];
printf("请输入课程编号:");
scanf("%s", course_id);
for (int i = 0; i < cou_count; i++) {
if (strcmp(cou[i].id, course_id) == 0) {
if (cou[i].selected_count < cou[i].capacity) {
cou[i].selected_count++;
stu[stu_count-1].selected_course[stu[stu_count-1].course_count] = i;
stu[stu_count-1].course_count++;
printf("选课成功!\n");
} else {
printf("该课程已满!\n");
}
return;
}
}
printf("没有找到该课程!\n");
}
void drop_course() {
char course_id[10];
printf("请输入课程编号:");
scanf("%s", course_id);
for (int i = 0; i < stu[stu_count-1].course_count; i++) {
int index = stu[stu_count-1].selected_course[i];
if (strcmp(cou[index].id, course_id) == 0) {
cou[index].selected_count--;
for (int j = i; j < stu[stu_count-1].course_count-1; j++) {
stu[stu_count-1].selected_course[j] = stu[stu_count-1].selected_course[j+1];
}
stu[stu_count-1].course_count--;
printf("退课成功!\n");
return;
}
}
printf("没有找到该课程!\n");
}
```
5. 实现成绩查询和课程查询的函数:
```c
void query_grade() {
for (int i = 0; i < stu[stu_count-1].course_count; i++) {
int index = stu[stu_count-1].selected_course[i];
printf("%s的%s课程成绩为:%d\n", stu[stu_count-1].name, cou[index].name, stu[stu_count-1].grade[i]);
}
}
void query_course() {
for (int i = 0; i < cou_count; i++) {
printf("课程名称:%s 课程编号:%s 授课教师:%s 学分:%d 容量:%d 已选人数:%d\n",
cou[i].name, cou[i].id, cou[i].teacher, cou[i].credit, cou[i].capacity, cou[i].selected_count);
}
}
```
6. 主函数中实现菜单和用户交互:
```c
int main() {
int choice;
while (1) {
printf("\n请选择功能:\n");
printf("1. 输入学生信息\n");
printf("2. 输入课程信息\n");
printf("3. 学生选课\n");
printf("4. 退课\n");
printf("5. 成绩查询\n");
printf("6. 课程查询\n");
printf("0. 退出\n");
printf("请选择:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_student();
break;
case 2:
add_course();
break;
case 3:
select_course();
break;
case 4:
drop_course();
break;
case 5:
query_grade();
break;
case 6:
query_course();
break;
case 0:
return 0;
default:
printf("输入错误,请重新选择!\n");
}
}
return 0;
}
```
这是一个简单的学生选修课查询系统的实现,您可以根据自己的需求进行改进。