void system_quit(st_info *buf_head,char *data_name) { char check; system("cls"); printf("\n"); print_tips(" 退出系统 "); print_star(); if(flag_save == TURE) printf("\n\n OK!-----可以安全退出!"); else { printf("\n\n Warning!-----部分修改并未保存到数据文件!是否继续退出?(确认退出请输入Y)"); fflush(stdin); check = getch(); if(check != 'Y' || check != 'y') { save_file(buf_head,data_name,N); } } printf("\n\n OK!-----系统将在三秒后自动退出!感谢您的使用!"); printf("\n\n Tips:-----您对本程序有任何建议与意见都可发送邮件到[email protected]!"); print_star(); printf("\n\n\n\n \t\t\t 学生体检信息管理系统V1.0"); printf("\n\n \t\t\t 2014.6.7"); printf("\n\n \t\t\t 作者:任强\n"); _sleep(3000); exit(1); }
float choose_base_salary(void) { char ch; print_star(); printf("Enter the number corresponding to the desired pay rate or action:\n"); printf("1) $8.75/hr\t2) $9.33/hr\n"); printf("3) $10.00/hr\t4) $11.20/hr\n"); printf("5) quit\n"); print_star(); while ((ch = getchar()) != EOF) { switch(ch) { case '1': return 8.75; //break; case '2': return 9.33; //break; case '3': return 10.00; //break; case '4': return 11.20; //break; case '5': exit(0); //break; default: printf("WRONG choice, please enter 1-5.\n"); break; } } }
// report star photometric measurements // what tells what to print (see cx.h for field definitions) void report_stars(FILE *fp, struct vs_recipy *vs, struct ccd_frame *fr, int what) { int i; int d; char *rep; if (fp == NULL) return; // get_ph_solution(vs); rep = vs->repstar; d = string_has(rep, 'd'); if (what == REP_HEADER) { if ((vs->cnt * strlen(rep) < PER_LINE) || d) { // we put all on one line fprintf(fp, "# "); for (i = 0; i < vs->cnt; i++) { print_header(fp, vs, i); if (d && (i != (vs->cnt - 1))) fprintf(fp, ", "); else fprintf(fp, " "); } fprintf(fp, "\n"); } else { // one per line fprintf(fp, "#================================\n"); fprintf(fp, "# Run format\n"); for (i = 0; i < vs->cnt; i++) { fprintf(fp, "# "); print_header(fp, vs, i); fprintf(fp, "\n"); } fprintf(fp, "#================================\n"); } } if (what == REP_STARS) { print_info(fp, vs, fr); if ((vs->cnt * strlen(rep) < PER_LINE) || d) { // we put all on one line for (i = 0; i < vs->cnt; i++) { print_star(fp, vs, i); if (d && (i != (vs->cnt - 1))) fprintf(fp, ", "); else fprintf(fp, " "); } fprintf(fp, "\n"); } else { // one per line fprintf(fp, "\n"); for (i = 0; i < vs->cnt; i++) { print_star(fp, vs, i); fprintf(fp, "\n"); } fprintf(fp, "#================================\n"); } } }
void main(){ double num1, num2; num1 = get_double(); num2 = get_double(); print_star(); printf("두 실수의 합 : %.2f \n", add(num1, num2)); printf("두 실수 중 큰 값 : %.2f \n", get_max(num1, num2)); print_star(); }
// Return 1 if it was shown, -1 on error, 0 otherwise. static int show_rbuf(const char *rbuf, struct config *conf, int sel, char **client, int *count, int details, const char *sclient) { int rbuflen=0; if(!rbuf) return 0; rbuflen=strlen(rbuf); #ifdef DBFP if(dbfp) { fprintf(dbfp, "%s\n", rbuf); fflush(dbfp); } #endif if(rbuflen>2 && rbuf[rbuflen-1]=='\n' && rbuf[rbuflen-2]=='\n') { int row=24; int col=80; #ifdef HAVE_NCURSES_H if(actg==ACTION_STATUS) getmaxyx(stdscr, row, col); #endif if(parse_rbuf(rbuf, conf, row, col, sel, client, count, details, sclient)) return -1; if(sel>=*count) sel=(*count)-1; if(!details) print_star(sel); #ifdef HAVE_NCURSES_H if(actg==ACTION_STATUS) refresh(); #endif return 1; } return 0; }
int baseprint(st_info *buf_head,char *data_name) { unsigned int i = 0,j = 0,check; st_info *p1 = buf_head->next; system("cls"); print_tips(" 浏览学生体检信息 "); printf(menu_print); if(p1 == NULL) { printf("\n\n\n Error!-----没有数据可以显示!请录入!按任意键返回"); fflush(stdin); getch(); return 0; } while(p1) { ++j; p1 = p1->next; } p1 = buf_head->next; while(p1!= NULL) { ++i; printf("\n"); printf(STINFO); p1 = p1->next; if(i % flag_page == 0 || i == j) { print_star(); if(i == j) printf("\n**************************** 输出完毕 ***********************"); printf("\n 1.按身高升序 2.按体重升序 3.按肺活量升序 4.按学号升序"); printf("\n 5.按身高降序 6.按体重降序 7.按肺活量降序 8.按学号降序"); printf("\n **共%u页***************ESC键:返回菜单********字母键:翻页***********第%u页****\r",j/flag_page + 1,(i/flag_page + (( i==j )?1:0))); fflush(stdin); check = getch(); if(check <= 56 && check >= 49) { sort_info(buf_head,data_name,check - 48); getch(); p1 = buf_head->next; } switch (check) { case 0:math_info(buf_head);break; case 27:return 1; default:if(i == j) return 1; break; } system("cls"); print_tips(" 浏览学生体检信息 "); printf(menu_print); } } getch(); return 1; }
int main(void) { int N; scanf("%d", &N); set_star(N); print_star(N); return 0; }
int find_print(find_link *find_head,unsigned int flag_find) { //unsigned int flag_print = 0; find_link *q1 = find_head; st_info *p1; if(find_head ==NULL) { print_star(); printf("\n Tips:-----没有找到任何记录,请仔细核对关键词!按任意键返回主菜单!"); fflush(stdin); return 0; } do { q1 = q1->next; p1 = (q1->buf_find)->next; printf(STINFO); }while(q1->next); print_star(); printf("\n OK!-----查找完成!共找到%u条记录!",flag_find); return 1; }
int sort_print(sort_link *sort_head,char *data_name) { sort_link *r1 = sort_head,*r2 = NULL; st_info *p1 = NULL; unsigned int i = 0,j = 0; char check; system("cls"); print_tips(" 学生体检信息排序 "); printf(menu_print); while(r1) { ++j; r1 = r1->next; } for (r1 = sort_head->next;r1;r1 = r1->next) { ++i; p1 = r1->sort_point; printf("\n"); printf(STINFO); if(i % flag_page == 0) { print_star(); printf(" Tips:-----数据过多,当前页面可能无法完全显示,请按任意键翻页!"); printf(" \n 共%u页 按S键:更新排序到文件 按ESC键:返回 第%7u 页",j/flag_page + 1,i/flag_page); printf("\r"); if((check = getch()) == 27) { sort_free(sort_head); return 0; } if (check == 's' || check == 'S') { system("cls"); save_file(sort_head,data_name,T_T); getch(); } system("cls"); print_tips(" 学生体检信息排序 "); printf(menu_print); } } printf("\n************************** 输出完毕 ***********************"); sort_free(sort_head); return 1; }
local int print_binary_recursive(hdyn *b, vec dc_pos, vec dc_vel, real &U, real &B, real &V, real &R, real &I, bool verbose) { int nb = 0; if (b->get_oldest_daughter()) { // Not relative to COM SPZ@27 Aug 2004 // vec r_com = b->get_pos(); // vec v_com = b->get_vel(); vec r_com = b->get_pos() - dc_pos; vec v_com = b->get_vel() - dc_vel; // vec r_com = dyn_something_relative_to_root(b, &dyn::get_pos) -dc_pos; // vec v_com = dyn_something_relative_to_root(b, &dyn::get_vel) -dc_vel; real m_tot = b->get_starbase()->conv_m_dyn_to_star(b->get_mass()); // PRC(m_tot);PRC(r_com);PRL(v_com); for_all_daughters(hdyn, b, bb) if (bb->n_leaves() >= 2) { if(verbose) cout << "\nBinary: "; else cout << "\n2 "; U=B=V=R=I=VERY_LARGE_NUMBER; nb += print_binary_recursive(bb, dc_pos, dc_vel, U, B, V, R, I, verbose); } else { if (bb->get_parent()==bb->get_root()) { U=B=V=R=I=VERY_LARGE_NUMBER; if(verbose) cout << "\nStar:: "; else cout << "\n1 "; } // Specific for star clusters which are not at the COM. // Such as Arches star cluster models. // print_star(bb, bb->get_pos()-r_com, bb->get_vel()-v_com, // U, B, V, R, I, verbose); vec nul = 0; bool bound = star_is_bound(bb, nul); // includ correction for density center position. print_star(bb, bound, bb->get_pos()-dc_pos, bb->get_vel()-dc_vel, U, B, V, R, I, verbose); // if (bb->get_parent()==bb->get_root()) // cerr << endl; } }
int find(st_info *buf_head,const int flag_num) { char check[21]; st_info *p1 = buf_head,*p2 = NULL,*p3 = NULL; find_link *q1,*q2,*find_head=NULL; unsigned int flag_find = 0; system("cls"); switch (flag_num) { case 0:print_tips(" 查询学生体检信息 ");break; case 2:print_tips(" 修改学生体检信息 ");break; case 1:print_tips(" 删除学生体检信息 ");break; } if(buf_head->next == NULL) { printf("\n Error!-----没有数据可供查询!请录入!"); return 0; } printf("\n\n\n\n Tips:-----请输入姓名或者学号:"); fflush(stdin); scanf("%20s",check); print_star(); printf(menu_print); while (p1->next) { p2 = p1; p1 = p1->next; if(strcmp(p1->name,check) == 0 || strcmp(p1->num,check) == 0) { ++flag_find; if(flag_find == 1) { find_head = (find_link *)malloc(M); q1 = (find_link *)malloc(M); find_head->next = q1; } q1->buf_find = p2; q2 = q1; q1 = (find_link *)malloc(M); q2->next = q1; } } if(flag_find != 0) { free(q1); q2->next = NULL; } printf("\n\n"); if(flag_find > 10) { free_find(find_head); printf("\n\n Warning!-----系统检测到您的查询结果已超过10个,数据文件可能存在问题!请检查!"); return 0; } find_print(find_head,flag_find); if(find_head == NULL) { return 0; } switch (flag_num) { case 0:free_find(find_head);break; case 1:del_info(find_head,flag_find);free_find(find_head);break; case 2:change_info(find_head,flag_find);free_find(find_head);break; } return 1; }
int status_client_ncurses(struct config *conf, enum action act, const char *sclient) { int fd=0; int ret=0; int sel=0; char *rbuf=NULL; char buf[512]=""; int count=0; int details=0; char *last_rbuf=NULL; int srbr=0; char *client=NULL; int enterpressed=0; // int loop=0; int reqdone=0; #ifdef HAVE_NCURSES_H int stdinfd=fileno(stdin); actg=act; // So that the sighandler can call endwin(). #else if(act==ACTION_STATUS) { printf("To use the live status monitor, you need to recompile with ncurses support.\n"); return -1; } #endif setup_signals(); /* NULL == ::1 or 127.0.0.1 */ if((fd=init_client_socket(NULL, conf->status_port))<0) return -1; set_non_blocking(fd); #ifdef HAVE_NCURSES_H if(actg==ACTION_STATUS) { initscr(); start_color(); init_pair(1, COLOR_WHITE, COLOR_BLACK); init_pair(2, COLOR_WHITE, COLOR_BLACK); init_pair(3, COLOR_WHITE, COLOR_BLACK); raw(); keypad(stdscr, TRUE); noecho(); curs_set(0); halfdelay(3); //nodelay(stdscr, TRUE); } #endif #ifdef DBFP dbfp=fopen("/tmp/dbfp", "w"); #endif while(!ret) { int l; int mfd=-1; fd_set fsr; fd_set fse; struct timeval tval; // Failsafe to prevent the snapshot ever getting permanently // stuck. //if(act==ACTION_STATUS_SNAPSHOT && loop++>10000) // break; if(sclient && !client) { client=strdup(sclient); details=1; } if((enterpressed || need_status()) && !reqdone) { char *req=NULL; if(details && client) req=client; if(request_status(fd, req, conf)) { ret=-1; break; } enterpressed=0; if(act==ACTION_STATUS_SNAPSHOT) reqdone++; } FD_ZERO(&fsr); FD_ZERO(&fse); tval.tv_sec=1; tval.tv_usec=0; add_fd_to_sets(fd, &fsr, NULL, &fse, &mfd); #ifdef HAVE_NCURSES_H if(actg==ACTION_STATUS) add_fd_to_sets(stdinfd, &fsr, NULL, &fse, &mfd); #endif if(select(mfd+1, &fsr, NULL, &fse, &tval)<0) { if(errno!=EAGAIN && errno!=EINTR) { logp("select error: %s\n", strerror(errno)); ret=-1; break; } continue; } if(FD_ISSET(fd, &fse)) { ret=-1; break; } #ifdef HAVE_NCURSES_H if(actg==ACTION_STATUS) { if(FD_ISSET(stdinfd, &fse)) { ret=-1; break; } if(FD_ISSET(stdinfd, &fsr)) { int quit=0; switch(getch()) { case 'q': case 'Q': quit++; break; case KEY_UP: case 'k': case 'K': if(details) break; sel--; break; case KEY_DOWN: case 'j': case 'J': if(details) break; sel++; break; case KEY_ENTER: case '\n': case ' ': if(details) details=0; else details++; enterpressed++; break; case KEY_LEFT: case 'h': case 'H': details=0; break; case KEY_RIGHT: case 'l': case 'L': details++; break; case KEY_NPAGE: { int row=0, col=0; getmaxyx(stdscr, row, col); sel+=row-TOP_SPACE; break; } case KEY_PPAGE: { int row=0, col=0; getmaxyx(stdscr, row, col); sel-=row-TOP_SPACE; break; } } if(quit) break; if(sel<0) sel=0; if(sel>=count) sel=count-1; // Attempt to print stuff to the screen right // now, to give the impression of key strokes // being responsive. if(!details && !sclient) { if((srbr=show_rbuf(last_rbuf, conf, sel, &client, &count, details, sclient))<0) { ret=-1; break; } if(!details) print_star(sel); refresh(); } } } #endif if(FD_ISSET(fd, &fsr)) { // ready to read. if((l=read(fd, buf, sizeof(buf)-1))>0) { size_t r=0; buf[l]='\0'; if(rbuf) r=strlen(rbuf); rbuf=(char *)realloc(rbuf, r+l+1); if(!r) *rbuf='\0'; strcat(rbuf+r, buf); } else break; if(act==ACTION_STATUS_SNAPSHOT) { if(rbuf) { if(!strcmp(rbuf, "\n")) { // This happens when there are // no backup clients. break; } if(strstr(rbuf, "\n-list end-\n")) { printf("%s", rbuf); break; } } continue; } //if(rbuf) printf("rbuf: %s\n", rbuf); /* if(l<0) { ret=-1; break; } */ } if((srbr=show_rbuf(rbuf, conf, sel, &client, &count, details, sclient))<0) { ret=-1; break; } else if(srbr) { // Remember it, so that we can present the detailed // screen without delay, above. if(last_rbuf) free(last_rbuf); last_rbuf=rbuf; rbuf=NULL; } if(sclient) details++; usleep(20000); #ifdef HAVE_NCURSES_H if(actg==ACTION_STATUS) { flushinp(); continue; } #endif if(count) { printf("\n"); break; } } #ifdef HAVE_NCURSES_H if(actg==ACTION_STATUS) endwin(); #endif close_fd(&fd); if(last_rbuf) free(last_rbuf); if(rbuf) free(rbuf); #ifdef DBFP if(dbfp) fclose(dbfp); #endif return ret; }