Advertisement
Guest User

Untitled

a guest
May 28th, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.97 KB | None | 0 0
  1. [![введите сюда описание изображения][1]][1]
  2.  
  3.  
  4.  
  5. > #include<stdio>
  6. > #include<conio>
  7. > #include<cstdio>
  8. > #include<string>
  9. > #include<stdlib>
  10. > #include<iostream>
  11. > #include<fstream>
  12. > #include<string>
  13. >
  14. > /* Написать программу, в которой необходимо создать структуру, элементами которой являются фамилия студента и оценки. Объявить
  15. > массив данных о студентах группы типа структуры и ввести значения его
  16. > элементов. Рассортировать массив структур в алфавитном порядке
  17. > фамилий, входящих в структуру, перемещая указатели структуры.
  18. > Предусмотреть меню. Результаты работы программы записать в файл.
  19. > */
  20. >
  21. > struct student{ std::string familia; int estimation;
  22. >
  23. > }student_[3];
  24. >
  25. > void sortFam(student *stud[]){ int i, j, len, s; student *ran= ( student *) malloc (sizeof(student)); for(i=0; i<3-1; i++) for(j=i+1; j<3; j++){
  26. > if(stud[i]->familia.length() < stud[j]->familia.length()) len=stud[i]->familia.length(); //Определяем короткое слово
  27. > else len=stud[j]->familia.length();
  28. > for(s=0; s<len; s++){
  29. > if(stud[i]->familia.substr(s, s+1) > stud[j]->familia.substr(s, s+1)){ ran = stud[i];
  30. > stud[i]=stud[j];
  31. > stud[j]=ran;
  32. > break;
  33. > }
  34. > else if(stud[i]->familia.substr(s, s+1) == stud[j]->familia.substr(s, s+1)){ continue;
  35. > }else{ break;
  36. > }
  37. > } } } void print_stud(student *stud[]){ int i; for(i=0; i<3; i++)
  38. > std::cout<<stud[i]->familia<<"n"; } int getFamili(student *stud[], char *fam){ int i; for(i=0; i<3; i++){ if(strcmp(stud[i]->familia.c_str(), fam)) {
  39. > return 1; } } return 0; }
  40. >
  41. > int main(int argc, char* argv[]) { student **stud = new student*[3]; char fam[7], adress[24]={0}; std::string ssd =
  42. > "C:/test/test.txt" ; int est, i, j, n=1;
  43. >
  44. > for(i=0; i<3; i++) {
  45. > student_[i].familia=""; //Обнуляем
  46. > student_[i].estimation=0; //Обнуляем
  47. > std::cout<<"Vvedite Familiu: ";
  48. > std::cin>>student_[i].familia;
  49. > std::cout<<"Vvedite ocenku: ";
  50. > std::cin>>student_[i].estimation;
  51. > stud[i]=&student_[i]; }
  52. >
  53. > std::cout<<"VVedite adres faila: (ne bolee 23 simvolov)"; std::cin>>adress;
  54. >
  55. > std::fstream out(adress, std::ios::out | std::ios::binary); if(!out){ std::cout<<"Net takogo faila :("; std::cout<<"Nagmite
  56. > 0 dlia vihoda:"; std::cin>>n;
  57. > if(n==0) return 1; }
  58. >
  59. >
  60. > //Менюха while(n!=0){
  61. > std::cout<<"Vvedite 0 dlia vihoda: n";
  62. > std::cout<<"Vvedite 1 dlia vivoda dannih: n";
  63. > std::cout<<"Vvedite 2 dlia sortirovki n";
  64. > std::cout<<"Vvedite 3 dlia poiska: n";
  65. > std::cin>>n;
  66. > switch(n){
  67. > case 0:
  68. > return 1;
  69. > break;
  70. > case 1:
  71. > print_stud(stud);
  72. > break;
  73. > case 2:
  74. > sortFam(stud);
  75. > break;
  76. > case 3: std::cout<<"Vvedite familiu studenta:";
  77. > std::cin>>fam;
  78. > if(getFamili(stud, fam))
  79. > std::cout<<"Takogo studenta ne obarujeno:";
  80. > break;
  81. > default:
  82. > break;
  83. > } } for(i=0; i<3; i++){
  84. > delete [] stud[i]; } delete [] stud;
  85. >
  86. > getch();
  87. > return 0; }
  88. >
  89. >
  90. > [1]: http://i.stack.imgur.co
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement