Faits: Faits: A. Z._ SA, une société active dans le domaine des prestations de service en matière d'informatique, a engagé X._ en qualité d'expert en architecture de logiciels (software architect). Deux conventions furent signées aux fins de cet engagement, le 31 juillet 1998 au nom de la société et le 22 suivant par l'expert. L'une d'elles prévoyait que l'expert se chargerait de tâches à accomplir dans les locaux de la société ou au domicile de clients, moyennant une rétribution mensuelle de base fixée à 10'000 fr. Parmi d'autres questions, cette convention réglait la fin des rapports de travail, dont la durée n'était pas définie: après le temps d'essai et pendant la première année de l'engagement, chaque partie pourrait donner congé par un avis écrit, à remettre à l'autre partie un mois à l'avance pour la fin d'un mois. L'autre document attribuait à l'expert une mission à accomplir pour le compte de A._ dans les locaux de la banque B._ à Zurich. La durée initiale de cette mission était fixée à une année dès le 24 août 1998. L'expert avait droit à une rétribution horaire fixée à 88% du montant de 162 fr. 50 que la société percevrait elle-même de son client. La rétribution convenue s'élevait donc à 143 fr. l'heure. La société déduirait toutefois la rétribution de base, les charges sociales et tous les frais directement imputables aux rapports de travail. Le 25 août 1998, la société a établi et signé une nouvelle version de cette deuxième convention. L'expert ne travaillerait pas pour le compte de A._ mais pour celui de la société directement; en outre, la rétribution horaire serait fixée à 150 fr. Pour le surplus, les modalités déjà convenues étaient reproduites sans changement. L'expert a reçu ce document mais il ne l'a pas signé ni renvoyé. L'expert a entrepris l'activité convenue en faveur de la banque B._ à Zurich; la société l'a rétribué sur la base du taux horaire de 150 fr. L'expert a entrepris l'activité convenue en faveur de la banque B._ à Zurich; la société l'a rétribué sur la base du taux horaire de 150 fr. B. La société et la banque B._ ont convenu de mettre fin à la mission de l'expert au 26 février 1999. Celui-ci a également accepté l'interruption de sa mission; il acceptait aussi la fin de ses rapports de travail avec la société mais il exigeait d'elle le respect du délai de congé. Par lettre du 25 février 1999, la société a au contraire résilié le contrat d'engagement avec effet immédiat. Cet écrit devait être communiqué à l'expert par l'intermédiaire de la banque B._; cependant, le 26 février, jour où son activité s'est effectivement terminée, le destinataire a refusé d'en prendre connaissance et de le recevoir. Un autre exemplaire de cette lettre lui est parvenu le 1er mars 1999. Par la suite, Z._ SA est devenue C._ SA; elle s'est transformée en une société à responsabilité limitée et elle a enfin pris le nom de Y._ Sàrl. Par la suite, Z._ SA est devenue C._ SA; elle s'est transformée en une société à responsabilité limitée et elle a enfin pris le nom de Y._ Sàrl. C. Le 20 mars 2001, X._ a ouvert action contre C._ Sàrl devant le Tribunal cantonal du canton de Neuchâtel. Sa demande tendait au paiement de 80'800 fr. 85 avec intérêts annuels à 5% dès le 1er mars 1999. Il soutenait que la résiliation immédiate du contrat d'engagement était injustifiée. Il réclamait le salaire correspondant aux mois de mars et avril 1999, au titre de ce qu'il aurait gagné si l'autre partie avait respecté le délai de congé; il prétendait en outre à un mois de salaire à titre d'indemnité. Il faisait aussi valoir que son employeuse avait facturé, pour chaque heure de son activité, un honoraire de 195 fr. à la banque B._. A son avis, il aurait dû être lui-même rétribué au taux de 88% de cet honoraire, soit 171 fr. 60 l'heure; il réclamait donc la différence entre cette rémunération et celle effectivement perçue au taux de 150 fr. l'heure. La défenderesse, contestant toute obligation, a conclu au rejet de la demande. Statuant par un jugement du 5 octobre 2004, la IIe Cour civile du Tribunal cantonal l'a condamnée à payer au demandeur un salaire brut de 21'829 fr. La Cour a admis que la résiliation immédiate du contrat était injustifiée. Cette résiliation avait été communiquée au demandeur avant la fin de février 1999; celui-ci ne pouvait donc réclamer que le salaire du mois de mars, soit le montant précité, au titre de ce qu'il aurait gagné en cas de respect du délai de résiliation contractuel. Il n'y avait pas lieu de lui allouer une indemnité supplémentaire et la défenderesse ne devait aucune rétribution au-delà du taux horaire de 150 fr. Le jugement est entièrement silencieux en ce qui concerne d'éventuels intérêts sur la prétention allouée au demandeur. Statuant par un jugement du 5 octobre 2004, la IIe Cour civile du Tribunal cantonal l'a condamnée à payer au demandeur un salaire brut de 21'829 fr. La Cour a admis que la résiliation immédiate du contrat était injustifiée. Cette résiliation avait été communiquée au demandeur avant la fin de février 1999; celui-ci ne pouvait donc réclamer que le salaire du mois de mars, soit le montant précité, au titre de ce qu'il aurait gagné en cas de respect du délai de résiliation contractuel. Il n'y avait pas lieu de lui allouer une indemnité supplémentaire et la défenderesse ne devait aucune rétribution au-delà du taux horaire de 150 fr. Le jugement est entièrement silencieux en ce qui concerne d'éventuels intérêts sur la prétention allouée au demandeur. D. Agissant par la voie du recours en réforme, le demandeur requiert le Tribunal fédéral de modifier le jugement en ce sens que sa demande soit entièrement admise. La défenderesse a présenté des observations tendant au rejet du recours mais elle n'a pas pris de conclusions.