大学选课是如何选的呢?

大学选课是如何选的呢?,第1张

1选课前了解自己需要哪些类的选修课:需要选课的课程一般有专业选修课,限定选修课程,通识类选修课等。在选课前需要看学生培养计划,了解自己在哪卜厅些类型的课程需要修多少学分,以闭弊枝免出现多修学分的情况,超出的学分在毕业前需交相应的钱给学校。

2选修课的学分数量控制:每学期会有规定的学分上限,并且由于学生的精力有限,要控制好选修课的数量。选修课分为长学段和短学段,长学段和短学段选课时间不同,在选长学段的课时要预留一部分学分给短学段。

3提前了解课程情况:选课前还需向周边同学和学姐学长们了解课程和老师的情况,以免选到一些难度较大、不适合自己的课程。

4选课一般流程:选课一般分为三轮,其中第一轮系统筛选,第二轮后先选先得,之后会有退课时间,在第三轮可以捡漏,需要关注退课情况。

5选课感受与建议:每当选课时,系轿敏统常常会出现崩溃,登不上等情况。可以用多个设备登录网站,如手机,电脑,iPad等,多多刷新。如果能抢到课,且课程都是需要修的,老师也不错的话,尽量不要退课,因为抢课比较艰难,能尽早修的课就尽早修完,为之后大三大四预留更多时间。

好好学习,提升能力

#include <conio.h>

#include <stdio.h>

#include <销谨耐stdlib.h>

#include <string.h>

#include <time.h>

#define szSTR 256

#define szNAME 10

#define szGROUP 5 /*每个小组最多允许5名组员,包括组长*/

#define fileAssignments "c:\\0.txt"

#define fileProjects "c:\\1.txt"

#define cntTYPE 4

/*课程晌笑*/

char Types[cntTYPE][11] = {"数据结构类", "趣亏春味类", "管理类", "自选类"}

struct TAssignment {

int number/*课程编号*/

int level/*难度系数*/

int type/*类别*/

char title[szSTR]

char requirements[szSTR]/*技术要求*/

char features[szSTR]/*技术特点*/

}

time_t Date_Input(char * msg)

{

struct tm tmemset(&t, 0, sizeof(t))

printf("请输入%s日期,格式为年/月/日:", msg)

scanf("%d/%d/%d", &(t.tm_year), &(t.tm_mon), &(t.tm_mday))

t.tm_year -= 1900

t.tm_mon --

return mktime(&t)

}

void Date_Print(time_t t)

{

struct tm * ft = localtime(&t)

printf("%04d/%02d/%02d", ft->tm_year + 1900, ft->tm_mon + 1, ft->tm_mday)

}

void Number_Input(char * msg, int * x)

{

for() {

printf("请输入%s,以回车结束:", msg)

scanf("%d", x)

if(*x <0) *x = -*x

if(*x) break

printf("错误的输入,请重新输入。\n")

}

}

void String_Input(char * msg, char * str)

{

printf("请输入%s,以回车结束:", msg)

fflush(stdin)

fgets(str, szSTR, stdin)

}

int Type_Input(void)

{

int t = 0, i = 0

for() {

printf("请输入课程类别:")

for(i = 0i <cntTYPEi++) printf("%d - %s\t", i, Types[i])

printf("\b\n")

t = getch() - '0'

if(t >= 0 &&t <= cntTYPE) break

printf("错误的输入\n")

}

return t

}

fpos_t ASSG_Query(int number)

{

FILE * f = 0fpos_t p = 0

struct TAssignment a

if(number <1) return 0

f = fopen(fileAssignments, "rb")

if(!f) {

fprintf(stderr, "课程文件无法打开\n")

return 0

}

while(!feof(f)) {

fgetpos(f, &p)

fread(&a, sizeof(a), 1, f)

if(a.number == number) {

fclose(f)

return p + 1

}

}

fclose(f)

return 0

}

void ASSG_Append(void)

{

FILE * f = 0fpos_t p = 0

struct TAssignment a

memset(&a, 0, sizeof(a))

Number_Input("课程编号", &(a.number ))

p = ASSG_Query(a.number )

if(p) {

fprintf(stderr, "该课程已存在。\n")

return

}

Number_Input("难度系数", &(a.level))

String_Input("课程名称", a.title )

a.type = Type_Input()

String_Input("技术要求", a.requirements)

String_Input("技术特点", a.features)

f = fopen(fileAssignments, "ab")

if(!f) {

fprintf(stderr, "课程文件无法打开\n")

return

}

fwrite(&a, sizeof(a), 1, f)

fclose(f)

}

void ASSG_Delete(void)

{

fpos_t p = 0FILE * f = 0

struct TAssignment a

Number_Input("课程编号", &(a.number ))

p = ASSG_Query(a.number )

if(p == 0) {

fprintf(stderr, "该课程不存在。\n")

return

}

p--

f = fopen(fileAssignments, "rb+")

if(!f) {

fprintf(stderr, "课程文件无法打开!\n")

return

}

fsetpos(f, &p)

memset(&a, 0, sizeof(a))

fwrite(&a, sizeof(a), 1, f)

fclose(f)

printf("删除成功!\n")

}

void PrintLine(void)

{

int i = 0for(i=0i<79i++) putchar('-')

putchar('\n')

}

void ASSG_Report(void)

{

FILE * f = 0struct TAssignment aint r = 0

f = fopen(fileAssignments, "rb")

if(!f) {

fprintf(stderr, "目前数据库中没有课程。\n")

return

}

printf("\n课程数据库\n")

while(!feof(f)) {

r = fread(&a, sizeof(a), 1, f)

if(r <1) break

if(a.number == 0) continue

PrintLine()

printf("【编号】%d\t【类别】%s\t【难度系数】%d\t【课程】%s【技术要求】%s【技术特点】%s",

a.number , Types[a.type ], a.level ,

a.title , a.requirements , a.features )

}

fclose(f)

printf("\n\n")

}

void ASSG_Brief(int number)

{

struct TAssignment aFILE * f = 0

fpos_t p = ASSG_Query(number)

if(!p) {

printf("【尚未选题】\n")

return

}

p--

f = fopen(fileAssignments, "rb")

fsetpos(f, &p)

fread(&a, sizeof(a), 1, f)

fclose(f)

printf("【课程编号】%d【类别】%s【难度系数】%d\t【课程】%s",

a.number , Types[a.type ], a.level ,a.title )

}

int ASSG_Choose(void)

{

int number = 0fpos_t p = 0

Number_Input("课程编号", &number)

p = ASSG_Query(number)

return p?number:0

}

void ASSG_Menu(void)

{

int cmd = 0

for() {

printf("*****课程管理*****\n0-查看\t1-新增\t2-删除课程\t任意键返回\n")

cmd = getch() - '0'

switch(cmd) {

case 0: ASSG_Report()break

case 1: ASSG_Append()break

case 2: ASSG_Delete()break

default: return

}

}

}

/*课程信息*/

struct TProject {

int group_number /*组号*/

char members[szGROUP][szNAME]/*小组成员,编号0为组长*/

int assignment/*选题*/

time_t date_open/*开题日期*/

time_t date_close/*结题日期*/

char teacher[szNAME]/*指导教师*/

int process/*进度0~100%*/

char jobs[szSTR]/*分工*/

int score/*评分*/

}

void PROJ_Report(void)

{

struct TProject pint r = 0

FILE * f = fopen(fileProjects, "rb")

if(!f) {

fprintf(stderr, "目前没有开放课程信息。\n")

return

}

printf("*****课程及小组信息*****\n")

while(!feof(f)) {

r = fread(&p, sizeof(p), 1, f)

if(r <1) break

if(p.group_number ==0) continue

PrintLine()

printf("【组号】%d\t【指导教师】%s【组长】%s\n",

p.group_number , p.teacher , p.members[0])

printf("【组员】%s %s %s %s\n", p.members[1], p.members[2], p.members[3], p.members[4])

printf("【分工】%s", p.jobs )

ASSG_Brief(p.assignment )

if(p.assignment ) {

printf("【开题日期】")Date_Print(p.date_open)

printf("【结题日期】")Date_Print(p.date_close)

printf("【进度】%d%%【评分】%d\n", p.process, p.score )

}

}

fclose(f)

PrintLine()

}

fpos_t PROJ_Query(int number)

{

struct TProject pfpos_t q = 0int r = 0

FILE * f = fopen(fileProjects, "rb")

if(!f) return 0

while(!feof(f)) {

fgetpos(f, &q)

r = fread(&p, sizeof(p), 1, f)

if(r <1) break

if(p.group_number == number) {

fclose(f)

return q+1

}

}

fclose(f)

return 0

}

void PROJ_Append(void)

{

struct TProject pfpos_t q = 0FILE * f = 0int i = 0

memset(&p, 0, sizeof(p))

Number_Input("课程小组编号", &(p.group_number))

q = PROJ_Query(p.group_number )

if(q) {

fprintf(stderr, "该小组已经存在。\n")

return

}

printf("请录入组员信息,第一个组员是组长:")

for(i = 0i<5i++) scanf("%s", p.members [i])

printf("请输入指导教师姓名:")scanf("%s", p.teacher )

String_Input("分工信息", p.jobs )

f = fopen(fileProjects, "ab")

fwrite(&p, sizeof(p), 1, f)

fclose(f)

printf("课程小组已创建,可以从菜单进行选题。\n")

}

void PROJ_Delete(void)

{

struct TProject pfpos_t q = 0FILE * f = 0

memset(&p, 0, sizeof(p))

Number_Input("课程小组编号", &(p.group_number))

q = PROJ_Query(p.group_number )

if(q == 0) {

fprintf(stderr, "没有关于该小组的信息。\n")

return

}

q--

f = fopen(fileProjects, "rb+")

fsetpos(f, &q)

memset(&p, 0, sizeof(p))

fwrite(&p, sizeof(p), 1, f)

fclose(f)

printf("该小组信息已删除!\n")

}

int PROJ_Invalid(int assignment)

{

struct TProject pint sum = 0int r = 0

FILE * f = fopen(fileProjects, "rb")

if(!f) return 1

while(!feof(f)) {

r = fread(&p, sizeof(p), 1, f)

if(r <1) break

if(p.group_number == 0) continue

if(p.assignment == assignment) sum++

}

fclose(f)

return sum<5?0:1

}

void PROJ_Select(void)

{

struct TProject pfpos_t q = 0FILE * f = 0time_t t = 0

memset(&p, 0, sizeof(p))

Number_Input("课程小组编号", &(p.group_number))

q = PROJ_Query(p.group_number )

if(q == 0) {

fprintf(stderr, "没有关于该小组的信息。\n")

return

}

q--

f = fopen(fileProjects, "rb")

fsetpos(f, &q)

memset(&p, 0, sizeof(p))

fread(&p, sizeof(p), 1, f)

fclose(f)

p.assignment = ASSG_Choose()

if(p.assignment==0) {

fprintf(stderr, "错误的课程编号。请在题库中查证后重新选题\n")

return

}

if(PROJ_Invalid(p.assignment)) {

fprintf(stderr, "已经有5个小组选择了该课程,请重新选题\n")

return

}

p.date_open = Date_Input("开题")

p.date_close= Date_Input("结题")

if(p.date_open >p.date_close) {

t = p.date_close

p.date_close = p.date_open

p.date_open = t

}

p.process = 0

f = fopen(fileProjects, "rb+")

fsetpos(f, &q)

fwrite(&p, sizeof(p), 1, f)

fclose(f)

}

void PROJ_Progress(void)

{

struct TProject pfpos_t q = 0FILE * f = 0

memset(&p, 0, sizeof(p))

Number_Input("课程小组编号", &(p.group_number))

q = PROJ_Query(p.group_number )

if(q == 0) {

fprintf(stderr, "没有关于该小组的信息。\n")

return

}

q--

f = fopen(fileProjects, "rb")

if(!f) {

fprintf(stderr, "数据库无记录!\n")

return

}

fsetpos(f, &q)

memset(&p, 0, sizeof(p))

fread(&p, sizeof(p), 1, f)

fclose(f)

if(p.assignment <1) {

fprintf(stderr, "尚未选题,请选题后再补登进度\n")

return

}

Number_Input("进度(0~100)", &(p.process ))

if(p.process <0 || p.process >100) {

fprintf(stderr, "错误的进度\n")

return

}

f = fopen(fileProjects, "rb+")

fsetpos(f, &q)

fwrite(&p, sizeof(p), 1, f)

fclose(f)

printf("进度已经登记完成!\n")

}

void PROJ_Evaluate(void)

{

struct TProject pfpos_t q = 0FILE * f = 0

memset(&p, 0, sizeof(p))

Number_Input("课程小组编号", &(p.group_number))

q = PROJ_Query(p.group_number )

if(q == 0) {

fprintf(stderr, "没有关于该小组的信息。\n")

return

}

q--

f = fopen(fileProjects, "rb")

fsetpos(f, &q)

memset(&p, 0, sizeof(p))

fread(&p, sizeof(p), 1, f)

fclose(f)

if(p.assignment <1) {

fprintf(stderr, "尚未选题,请选题后再进行评分\n")

return

}

Number_Input("评分(0~100)", &(p.score ))

if(p.score <0 || p.score >100) {

fprintf(stderr, "错误的评分\n")

return

}

f = fopen(fileProjects, "rb+")

fsetpos(f, &q)

fwrite(&p, sizeof(p), 1, f)

fclose(f)

printf("成绩已经评定完成!\n")

}

void PROJ_Menu(void)

{

int cmd = 0

for() {

printf("*****课程管理*****\n0-查看\t1-新增\t2-删除\t3-选题\t4-登记进度\t5-打分\t任意键返回\n")

cmd = getch() - '0'

switch(cmd) {

case 0: PROJ_Report()break

case 1: PROJ_Append()break

case 2: PROJ_Delete()break

case 3: PROJ_Select()break

case 4: PROJ_Progress()break

case 5: PROJ_Evaluate()break

default: return

}

}

}

int main(void)

{

int cmd = 0

for() {

printf("*****欢迎使用学生选课管理软件*****\n0-课程信息\n1-学生选课\n其他任意键退出\n")

cmd = getch() - '0'

switch(cmd) {

case 0: ASSG_Menu()break

case 1: PROJ_Menu()break

default: return 0

}

}

return 0

}

大一入学前并没有选课这一程序,大一上学期的课程是学校定好的。

大一上学期接近末(12月份)有一个选课期,这是大学第一次选课,主要选择的有通识选修(就是与专业无关的课程),还有体育课程,必修课是不用选的。这些课程是在大一下学期才会开的。

大学生可以自由选择课程,有机会学习更多广泛的知识,学习自己感兴趣的内容。一般大一第二学期才开始选兄毕课,大一新生暂时不用着急,可以跟学长学姐“取经”。一般选课需要去学校的教务系统,分为预选课阶段和选课阶段。

学校会提前发出通知,几号几点开始预选,学生都会在那个时间点选择自己喜欢羡敬芹的课程,热门课程可能很快就被选完。预选成功就变成自己的课程,正稿谨式选课阶段还可以继续选课。

选课注意:

1.首先按照学分要求来选课,首选学分较高的课程,这些课程比较具有挑战性,而且能保证修够学分。

2.选课要考虑到文理的平衡性,最好是文理都有涉及,虽然文的更容易通过,但理的更能学到实际性的知识。

3.如果挑选的课程比较热门,一定要在选课的第一时间就开始选课,不然很可能选不上,而只能去选那些被别人挑剩下的课程。

4.挑选自己感兴趣的课程非常重要,因为这将是你努力学习的动力源泉。所以,尽量挑选自己真正喜欢的。

5.关于体育课要根据自己的特长来选择,可以选择自己高中就擅长的,例如乒乓球,可以在大学里更加系统的学习。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/12420893.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存